Android 在屏幕上居中线性布局,其本身包含布局

Android 在屏幕上居中线性布局,其本身包含布局,android,android-layout,Android,Android Layout,我无法在屏幕上集中布局。特别是,所有这些都是水平居中的,而不是垂直居中的。表格和线性都太高,表格和线性之间的空间太大。StackO在讨论类似的问题时有一些问题,我尝试了其中的各种建议,但没有乐趣。目前,它看起来是这样的:代码是: <?xml version="1.0" encoding="utf-8"?> 更新: 建议使用RelativeLayout而不是LinearLayout。因此: <RelativeLayout xmlns:android="http://

我无法在屏幕上集中布局。特别是,所有这些都是水平居中的,而不是垂直居中的。表格和线性都太高,表格和线性之间的空间太大。StackO在讨论类似的问题时有一些问题,我尝试了其中的各种建议,但没有乐趣。目前,它看起来是这样的:代码是:

<?xml version="1.0" encoding="utf-8"?>


更新: 建议使用RelativeLayout而不是LinearLayout。因此:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentBottom="true"  
    >

表格
线性
分别位于屏幕中央,即
线性
位于
表格
的顶部。相对论似乎是正确的选择,尽管这种说法仍然不正确,但我认为这是另外一个问题

更新2:
最后使用了带权重的LinearLayout。

您可以将这两个布局放在一个relativelayout中,并使用android:layout\u centerInParent

所有布局都应该放在一个relativelayout容器中,LinearLayout固定在parentBottom上,而TableLayout则放在上面(首先创建LinearLayout,否则TableLayout将看不到它)并锚定到parentTop

[编辑]

否则:

您可以使用线性布局作为外部容器,然后为您的表格布局和内部线性布局设置权重(例如80和20-根据您喜欢的比例进行调整)。
在这种情况下,您可以维护原始订单。

请记住,将两个内部布局的布局宽度设置为0dp,否则布局权重将无法发挥其神奇作用。

当您说要首先创建线性布局时…通常我会按照布局和组件在屏幕上从左到右、从上到下的显示顺序排列。您是说我不应该这样做吗在这种情况下,是否在表格布局之前定位LinearLayout的xml?是的。在RelativeLayouts中,您必须在被其他组件引用之前指定引用的组件。您可以看到,RelativeLayouts和LinearLayouts是不同的野兽。有时最好使用一种,有时使用另一种。有时还可以结合使用两种都有。谢谢,锚定到parentTop的意思是:
android:layout\u alignParentTop=“true”
?谢谢,使用带权重的线性布局,我得到了我想要的,但当你最终让它按你喜欢的方式工作时,你对它的满意程度是多少?:)
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentBottom="true"  
    >