Не удается установить ширину кнопки в Android?
Я использую следующий код, чтобы установить ширину кнопки в моем приложении:
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"
/>
И вот скриншот экрана:
1 ответ
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);