怎么做这个布局? (图片链接)

时间:2010-04-12 06:32:39

标签: android android-layout

我想知道如何获得这个结果:

http://img718.imageshack.us/img718/6173/screenshot20100411at126.png

这就是我的尝试:

<RelativeLayout android:layout_width="fill_parent"
                  android:layout_height="wrap_content"
                  android:background="#CCCCCC"
                  android:orientation="horizontal"
                  android:layout_weight="0">

        <Button android:id="@+id/btn_cancel"
                android:text="@string/cancel"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="5px"
                android:gravity="left"
                />

        <Button android:id="@+id/btn_save"
                android:text="@string/save"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="5px"
                android:layout_toRightOf="@id/btn_cancel"
                android:gravity="right"/>
    </RelativeLayout>

我尝试使用layout_width属性并将它们设置为填充父母,但是如果有人有想法则不起作用...谢谢!

1 个答案:

答案 0 :(得分:4)

<LinearLayout android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:padding="5dip"
              android:background="#CCCCCC"
              android:orientation="horizontal">

    <Button android:id="@+id/btn_cancel"
            android:text="@string/cancel"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginRight="5dip"
            android:layout_weight="1"/>

    <Button android:id="@+id/btn_save"
            android:text="@string/save"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>
</LinearLayout>

LinearLayout中获取两个小部件以占用相同空间量的技巧是在它们两者上设置layout_width="fill_parent",然后在它们两者上设置layout_weight="1"。将fill_parent设置为相同的layout_weight将告诉LinearLayout拆分两者之间的所有可用空间。

另外,请使用dip,而不是pxdip与屏幕尺寸无关,在不同尺寸的屏幕上看起来会更好。