我在 SO 上查看了许多类似的问题,但没有任何帮助。
我有不同嵌套布局的层次结构,都有 android:layout_width="fill_parent"
,最里面的布局有 android:layout_width="wrap_content
- 我需要将其居中对齐(水平)。我该怎么做?
更新::我找到了问题的原因 - 如果我将内部 LinearLayout 放入使用 android:layout_width="fill_parent"
的 RelativeLayout,它仍然会换行它的内容。然而,TableRow 确实填满了屏幕。
<?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" >
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TableRow >
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="1"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="2"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
</TableRow>
</TableLayout>
</FrameLayout>
</LinearLayout>
最佳答案
这两个属性经常被混淆:
android:gravity
设置它所在的 View 内容的重力 上使用。android:layout_gravity
设置 View 的重力或 布局相对于其父级。
所以要么将 android:gravity="center"
放在父级上,要么将 android:layout_gravity="center"
放在 LinearLayout 本身上。
我发现自己很多次把它们混在一起,想知道为什么事情没有正确居中......
关于android - 如何在其父级的中心对齐 LinearLayout?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8180887/