如何使Button方形和可调整大小

时间:2013-06-13 03:11:54

标签: java android android-layout android-button layoutparams

我想制作按钮(两个其他按钮之间的一个)Square。

enter image description here

我尝试使用以下代码:

toggleButton = (ToggleButton) findViewById(R.id.activity_dictionary_toggleButton1);
LinearLayout.LayoutParams toggleButtonLayoutParams = (LayoutParams) toggleButton.getLayoutParams(); 
toggleButtonLayoutParams.width = toggleButtonLayoutParams.height;
toggleButton.setLayoutParams(toggleButtonLayoutParams);

但它不起作用(按钮看起来像上图)。这是我的XML文件的一部分:

<LinearLayout
    android:id="@+id/activity_dictionary_linearLayout2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_marginTop="5dp" >

    <Button
        android:id="@+id/activity_dictionary_button1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical|center_horizontal"
        android:layout_weight="0.4"
        android:enabled="false"
        android:maxWidth="200dp"
        android:text="Clear"
        android:textColor="@android:color/white" />

    <ToggleButton
        android:id="@+id/activity_dictionary_toggleButton1"
        android:layout_width="20dp"
        android:layout_height="20dp"
        android:layout_gravity="center_vertical|center_horizontal"
        android:layout_weight="0.2"
        android:background="@drawable/settings"
        android:text="ToggleButton" />

    <Button
        android:id="@+id/activity_dictionary_button2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical|center_horizontal"
        android:layout_weight="0.4"
        android:enabled="false"
        android:maxWidth="200dp"
        android:text="Recognize"
        android:textColor="@android:color/white" />

</LinearLayout>

我应该改变什么?

更新:android:layout_weight="0.2"已删除,但当我尝试通过代码执行此操作时,按钮仍然不会更改其大小(它是圆形但非常小)。

1 个答案:

答案 0 :(得分:3)

您应该将LinearLayout切换为RelativeLayout。您的尺寸参数应该生效。