关于android:在LinearLayout中分配对象

Distribute objects in a LinearLayout

我正在尝试在水平LinearLayout中排列两个按钮,以使它们均匀分布,但是同时,这些按钮不会在可用空间上伸展(它们之间只有空白)。

我正在尝试遵循我在此问题中发现的内容,尤其是安德鲁的评论...

我当前的布局看起来像这样。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 <?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="wrap_content"
        android:orientation="horizontal"
        android:background="#ffffff"
        android:minHeight="?android:attr/listPreferredItemHeight">
    <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="horizontal"
            >
        <Button
                android:id="@+id/db_export_cancel"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:layout_gravity="center_horizontal"
                android:text="Cancel"
                />
    </LinearLayout>
    <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="horizontal"
            >
        <Button
                android:id="@+id/db_export_ok"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:layout_gravity="center_horizontal"
                android:text="OK"
                />
    </LinearLayout>
</LinearLayout>

两个LinearLayouts正确地使用了可用空间的每一半,但是按钮在每个按钮的左侧对齐。


将每个内部LinearLayout更改为具有垂直方向。 每个人都应注意其封闭的Button的水平重力。


每个按钮周围的那些LinearLayouts有什么意义? 只需在各个按钮上设置权重即可摆脱中间商。 然后,如果您想使按钮更小,则可以a)在按钮本身上添加一些左右填充,或b)在按钮的左侧和右侧添加两个间隔视图,每个视图的权重也为1 。