我有4个水平线性布局的按钮。我希望第4个按钮的右边缘与线性布局的右边缘对齐(等于屏幕宽度)我尝试使用android:layout_gravity =“right”但它不起作用 - 右边的按钮是在第3个右边但没有右对齐。我错过了一些明显的东西吗?
只有相关布局参数的main.xml是:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Button
android:layout_height="fill_parent"
android:layout_width="wrap_content">
<Button SAME LAYOUT AS BUTTON 1>
<Button SAME LAYOUT AS BUTTON 1>
<Button
android:layout_height="fill_parent"
android:layout_width="wrap_content"
android:layout_gravity="right" />
</LinearLayout>
</LinearLayout>
这似乎与SDK引用中layout_gravity的声明行为不匹配:“定义如何将视图(x轴和y轴)放置在其父视图组中。”
答案 0 :(得分:3)
我知道这不是你问题的正确答案,但你应该考虑使用RelativeLayout而不是LinearLayout。它可以更好地扩展到不同的手机屏幕分辨率,您可以使用XML中的layout_toRightOf
和layout_alignParentRight
属性(或layout_above
,layout_alignParentTop
按正确的顺序放置按钮等)。在线性布局中使用重力并不会像您期望的那样,因为Android仍在尝试将小部件放置在固定位置。
RelativeLayout比LinearLayout更难以实现,但它值得一试,也是谷歌推荐使用的。一旦掌握了它,就可以非常方便地使用它。