【发布时间】:2016-01-09 15:11:08
【问题描述】:
我一直在尝试在水平的linear layout 中使用layout_gravity。但这似乎不起作用。我不想使用relative layout 或任何其他布局。我想知道为什么它不适用于linear layout。我之前在vertical 线性布局中使用过layout_gravity,它的工作方式符合我的预期。
<LinearLayout
android:id="@+id/shata"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:id="@+id/title_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:textColor="@color/black"
android:text="shata1"
android:textAppearance="?android:attr/textAppearanceMedium"
/>
<TextView
android:id="@+id/map_imageview"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="right"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="shata2"/>
</LinearLayout>
如您所见,线性布局有orientation=horizontal 和width=match_parent(它就在根布局内)。但是两个 TextView 都显示在 LinearLayout 的左侧,尽管我分别给出了它们的 layout_gravity=center 和 layout_gravity=right。
【问题讨论】:
-
它不起作用,因为 Textview 的布局绑定到
wrap_content而不是match_parent -
线性布局不是你想要的。您应该使用相对布局。为什么不想使用相对布局?
-
LinearLayout 中的layout_gravity 只能更改垂直于方向的对象位置。如果方向是水平的,您可以指定顶部和底部,而不是左右。
-
@chitti :但我已经看到 layout_gravity=bottom 在垂直线性布局中工作。
-
@Ashwin 您可能需要再次检查。您可能已经看到线性布局工作的重力 = 底部。
标签: android android-linearlayout