我使用以下代码来设置应用程序中按钮的宽度:
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
layoutParams.setMargins(0, 0, 0, (int)(padding*density));
b1.setLayoutParams (layoutParams);
b1.setWidth((int)(buttonwidth*density));
现在行 b1.setWidth((int)(buttonwidth*密度));
对按钮的宽度完全没有影响。我尝试将宽度增加 40 像素,但按钮大小保持不变。如何以编程方式增加按钮宽度?
这是按钮的 XML:
<Button
android:id="@+id/login"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/login"
/>
这是屏幕截图:
最佳答案
setWidth 不起作用,因为您已经通过将按钮的宽度设置为 LinearLayout.LayoutParams.FILL_PARENT
,将按钮设置为与构造函数上的父级宽度相匹配:
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
尝试将构造函数更改为
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
buttonwidth*density, LinearLayout.LayoutParams.WRAP_CONTENT);
关于java - android 无法设置按钮的宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20935408/