TableLayout
内有RelativeLayout
android:layout_centerInParent="true"
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/line_drawing_relativelayout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TableLayout
android:id="@+id/activity_linking_tl"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" >
<TableRow
android:id="@+id/table_row_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="1dp" >
<com.xx.myview
android:id="@+id/id_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<com.xx.myview
android:id="@+id/id_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</TableRow>
</TableLayout>
<ImageButton
android:id="@+id/line_drawing_b_restart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:padding="22dp"
android:src="@drawable/ic_restart" >
</ImageButton>
<!-- There are more views/widgets here -->
</RelativeLayout>
作为其属性之一,但它没有垂直居中。
这是我的xml:
{{1}}
我该如何解决这个问题?
答案 0 :(得分:0)
您确定RelativeLayout占用了您想象的空间吗?可能是TableLayout居中,但RelativeLayout正在包装内容,因此它最终被居中但在比预期更小的容器中。如果没有看到XML的RelativeLayout部分,我很难进行评估。
检查布局的一种方法是使用developer option“show layout bounds”:
它可以让您更好地了解布局的构建方式。如果您在没有此开发者选项的情况下运行旧手机,我只会开始为查看背景设置平面颜色(例如android:background="#F00"
)。
答案 1 :(得分:0)
尝试将父亲RelativeLayout宽度和高度设置为match_parent。
并将其添加到TableLayout
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
答案 2 :(得分:0)
问题是我也有android:layout_below="xxx"
(由于某种原因未在我发布的代码中显示),这超出了我试图实现的中心。删除它解决了它。显而易见。