Android 对齐线下带多行文字接收器的按钮,如何修复?
我看到简单按钮的奇怪行为,当它们的文本在几行上分开时。我有它在更复杂的情况下,但即使在最简单的一个它发生。使用此布局:Android 对齐线下带多行文字接收器的按钮,如何修复?,android,layout,button,alignment,multiline,Android,Layout,Button,Alignment,Multiline,我看到简单按钮的奇怪行为,当它们的文本在几行上分开时。我有它在更复杂的情况下,但即使在最简单的一个它发生。使用此布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_pare
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent">
<Button android:layout_width="100dip" android:layout_height="70dip" android:text="111" />
<Button android:layout_width="100dip" android:layout_height="70dip" android:text="111 222 333" />
<Button android:layout_width="100dip" android:layout_height="70dip" android:text="111 222 333 444 555 666" />
<Button android:layout_width="100dip" android:layout_height="70dip" android:text="111" />
</LinearLayout>
结果是:
按钮随着下一行文本不断向下移动。我要他们排成一行。这是安卓系统的错误吗?如何修复它?代替按钮使用类似的方法
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="111" />
试试这个:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:layout_width="100dip"
android:layout_height="70dip"
android:layout_gravity="center"
android:text="111" />
<Button
android:layout_width="100dip"
android:layout_height="70dip"
android:layout_gravity="center"
android:text="111 222 333" />
<Button
android:layout_width="100dip"
android:layout_height="70dip"
android:layout_gravity="center"
android:text="111 222 333 444 555 666" />
<Button
android:layout_width="100dip"
android:layout_height="70dip"
android:layout_gravity="center"
android:text="111" />
</LinearLayout>
</LinearLayout>
在每个按钮中使用下面两行,然后所有按钮将以单行形式出现
android:layout_width="wrap_content"
android:layout_height="wrap_content"
如果您想让这些按钮延伸整个宽度,请在下面的行中添加每个按钮
android:layout_weight="1"
做这样的事
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:id="@+id/btn1"
android:layout_width="100dip"
android:layout_height="70dip"
android:text="111" />
<Button
android:layout_toRightOf="@+id/btn1"
android:id="@+id/btn2"
android:layout_width="100dip"
android:layout_height="70dip"
android:text="111 222 333" />
<Button
android:layout_toRightOf="@+id/btn2"
android:id="@+id/btn3"
android:layout_width="100dip"
android:layout_height="70dip"
android:text="111 222 333 444 555 666" />
<Button
android:layout_toRightOf="@+id/btn3"
android:id="@+id/btn4"
android:layout_width="100dip"
android:layout_height="70dip"
android:text="111" />
</RelativeLayout>
将LinearLayout的
android:baselineAligned
设置为false
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
android:baselineAligned="false">
我希望这些按钮大小相同。实际上,我在我的真实程序中使用了android:layout\u weight=“1”和android:layout\u width=“0dip”,但这并没有帮助。我知道“包装内容”的作用,但我想要大小相同的按钮。+1。谢谢实际上,android:layout_gravity=“center”按钮似乎不够,不需要嵌套活动。我将再等几个小时,等待其他意见,但您的答案可能会得到分数。android:gravity=“center”作为布局属性也起作用,还有一些其他条件,如:+1。这是可行的,但是来自dmytrodanylyk解决方案的android:layout\u gravity=“center”更简单。这不是一个bug,按钮的文本基线与其他按钮对齐。将LinearLayout
的baselineAligned
设置为false
,将解决此问题。