Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使按钮呈方形并可调整大小_Java_Android_Android Layout_Android Button_Layoutparams - Fatal编程技术网

Java 如何使按钮呈方形并可调整大小

Java 如何使按钮呈方形并可调整大小,java,android,android-layout,android-button,layoutparams,Java,Android,Android Layout,Android Button,Layoutparams,我想把按钮(其他两个按钮之间的那个)做成正方形 我尝试使用以下代码: toggleButton = (ToggleButton) findViewById(R.id.activity_dictionary_toggleButton1); LinearLayout.LayoutParams toggleButtonLayoutParams = (LayoutParams) toggleButton.getLayoutParams(); toggleButtonLayoutParams.widt

我想把按钮(其他两个按钮之间的那个)做成正方形

我尝试使用以下代码:

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\u weight=“0.2”
已被删除,但当我尝试通过代码执行此操作时,按钮仍然不会改变其大小(它是圆形的,但非常小)。

您应该将线性布局切换到相对长度。此时,您的尺寸参数将生效

但父布局是线性布局。为什么我要切换到RelativeLayout?这是工作,但我不明白为什么…原谅我没有最技术性的答案。当您试图将事物组合在一起,并且希望它们在所有类型的屏幕上具有相同的显示时,线性布局效果最佳。实际上,您想要设置高度和宽度,因此线性布局并不是最好的选择。relativelayout没有这些参数,实际上使用您设置的高度和宽度。如果您想要更多的技术定义,我建议您查看开发人员说明;我感到困惑的是,我认为你必须始终保持你父母的布局参数。对于我的按钮,家长是线性布局。为什么编辑器不显示错误?