我使用以下代码在我的应用中设置按钮的宽度:
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*density));
对按钮的宽度完全没有影响。我尝试将宽度增加40像素,但按钮大小保持不变。如何以编程方式增加按钮宽度?
以下是按钮的XML:
<Button
android:id="@+id/login"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/login"
/>
以下是屏幕截图:
答案 0 :(得分:0)
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);