当他们的文字分成几行时,我看到简单按钮的奇怪行为。我有它在更复杂的情况下,但即使在最简单的情况下它发生。有了这个布局:
<?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>
结果是:
按钮随着下一行文字向下和向下移动。我希望他们排成一列。这是一个Android bug以及如何修复它?
答案 0 :(得分:9)
试试这个:
<?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>
答案 1 :(得分:2)
将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">
答案 2 :(得分: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>
答案 3 :(得分:0)
代替按钮使用像这样
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="111" />
答案 4 :(得分:0)
在每个按钮中使用以下2行,然后所有按钮将以单行显示。
android:layout_width="wrap_content"
android:layout_height="wrap_content"
如果您希望这些按钮必须拉伸整个宽度,请在每个按钮下方添加以下行
android:layout_weight="1"