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没有这些参数,实际上使用您设置的高度和宽度。如果您想要更多的技术定义,我建议您查看开发人员说明;我感到困惑的是,我认为你必须始终保持你父母的布局参数。对于我的按钮,家长是线性布局。为什么编辑器不显示错误?