如何创建矩形按钮并大幅度打扰它

时间:2014-11-06 08:30:01

标签: android android-layout

我尝试以相同的宽度和高度创建4个按钮。 现在我将宽度设置为0dp并设置weight =" 1",这允许我用相同的widht打扰所有按钮,但现在我需要设置相同高度的这些元素并且不知道该怎么做它

请帮我解决这个问题。

在我的xml布局下面:

 <LinearLayout
            android:orientation="horizontal"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" 
            android:layout_centerHorizontal="true" android:id="@+id/lin_layout">
        <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:text="VK"
                android:id="@+id/btn1" 
                android:layout_weight="1"
                android:layout_marginRight="5dp"/>
        <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:text="ЮД"
                android:id="@+id/btn2"
                android:layout_weight="1"
                android:layout_marginLeft="5dp"
                android:layout_marginRight="5dp"/>
        <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:text="KE"
                android:id="@+id/btn3"
                android:layout_weight="1"
                android:layout_marginLeft="5dp"
                android:layout_marginRight="5dp"/>
        <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:background="@drawable/contact_bg"
                android:id="@+id/btn4"
                android:text="MI"
                android:layout_weight="1" android:layout_marginLeft="5dp"/>
    </LinearLayout>

3 个答案:

答案 0 :(得分:0)

但是它取决于同一事物的高度,如果你想按钮的高度与刚设置android: layout_height = "match_parent"的线性布局相同,按钮将与一样高线性布局

例如

 <LinearLayout
    android:id="@+id/lin_layout"
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:orientation="horizontal" >

    <Button
        android:id="@+id/btn1"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:text="VK" />

    <Button
        android:id="@+id/btn2"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:text="ЮД" />

    <Button
        android:id="@+id/btn3"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:text="KE" />

    <Button
        android:id="@+id/btn4"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:text="MI" />
</LinearLayout>

答案 1 :(得分:0)

我的意思是,按钮的高度必须等于它的宽度。见图:

enter image description here

答案 2 :(得分:0)

根据我的经验,你不可能只用xml做你所要求的事情,我担心你必须动态地做。

首先将所有按钮的高度更改为android:layout_height="match_parent"

<LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" 
        android:layout_centerHorizontal="true" android:id="@+id/lin_layout">
    <Button
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:text="VK"
            android:id="@+id/btn1" 
            android:layout_weight="1"
            android:layout_marginRight="5dp"/>
    <Button
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:text="ЮД"
            android:id="@+id/btn2"
            android:layout_weight="1"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"/>
    <Button
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:text="KE"
            android:id="@+id/btn3"
            android:layout_weight="1"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"/>
    <Button
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:background="@drawable/contact_bg"
            android:id="@+id/btn4"
            android:text="MI"
            android:layout_weight="1" android:layout_marginLeft="5dp"/>
</LinearLayout>

然后获得LinearLayout的宽度并将其高度设置为其宽度的1/4。

lin_layout.getLayoutParams().height = lin_layout.getLayoutParams().width / 4;