android中2按钮布局的问题

时间:2011-09-25 18:11:51

标签: android android-layout

我的布局中有两个按钮(购买和分享),我希望它们占据相同的空间。但是,“分享”按钮比“购买”按钮占用更多的空间。任何人都可以指出我的错误吗?感谢。

            <Button
            android:id="@+id/shareButton"
            android:text="Share"
            android:background="@drawable/ebutton"
            android:layout_width="wrap_content"
            android:layout_height="50px"
            android:paddingTop="10dip"
            android:paddingBottom="10dip"
            android:paddingLeft="10dip"
            android:paddingRight="10dip"
            android:layout_alignParentBottom="true"
            >
            </Button>

            <Button
            android:id="@+id/buyButton"
            android:layout_toRightOf="@+id/shareButton"
            android:text="Buy"
            android:background="@drawable/ebutton"
            android:layout_width="wrap_content"
            android:layout_height="50px"
            android:paddingTop="10dip"
            android:paddingBottom="10dip"
            android:paddingLeft="10dip"
            android:paddingRight="10dip"
            android:layout_alignParentBottom="true"
            >
            </Button>

1 个答案:

答案 0 :(得分:2)

将两个按钮放在LinearLayout中,并为LinearLayout定义weightSum为2,然后将每个按钮的weight设置为1,两个视图将缩放以占据父级的一半。

<LinearLayout android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:weightSum="2">  
        <Button android:id="@+id/buyBtn" 
            android:layout_weight="1"
            android:layout_width="0dp" 
            android:layout_height="fill_parent"
            android:text="Buy"/>

        <Button android:id="@+id/shareBtn" 
            android:layout_weight="1"
            android:layout_width="0dp" 
            android:layout_height="fill_parent"
            android:text="Share"/>
</LinearLayout>

这是一种非常强大的布局技术,因为您可以定义视图应占用的父级的一部分。例如,如果您想要3个按钮,其中第一个占据屏幕的一半而另外两个占据四分之一,则可以将父weightSum设置为4,将第一个的weight设置为2和{{ 1}}其他两个按钮为1。