Я хочу закруглить углы на кнопке, как показано ниже.
button.setWidth(buttonWidth);
button.setHeight(buttonHeight);
Как определить закругленные кнопки с кодом java, без xml
Я хочу закруглить углы на кнопке, как показано ниже.
button.setWidth(buttonWidth);
button.setHeight(buttonHeight);
Как определить закругленные кнопки с кодом java, без xml
Сначала создайте фон:
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true" >
<shape android:shape="rectangle" >
<corners android:radius="3dip" />
<stroke android:width="1dip" android:color="#5e7974" />
<gradient android:angle="-90" android:startColor="#345953" android:endColor="#689a92" />
</shape>
</item>
<item android:state_focused="true">
<shape android:shape="rectangle" >
<corners android:radius="3dip" />
<stroke android:width="1dip" android:color="#5e7974" />
<solid android:color="#58857e"/>
</shape>
</item>
<item >
<shape android:shape="rectangle" >
<corners android:radius="3dip" />
<stroke android:width="1dip" android:color="#5e7974" />
<gradient android:angle="-90" android:startColor="#8dbab3" android:endColor="#58857e" />
</shape>
</item>
and then:
button.setBackground(ContextCompat.getDrawable(context, R.drawable.ready));
этот ответ основан на этом и эта ссылка.
Используйте материальные компоненты для Android.
Просто добавьте зависимость:
implementation ‘com.google.android.material:material:1.0.0’
Добавьте MaterialButton
. в вашем макете:
<com.google.android.material.button.MaterialButton
....
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
app:cornerRadius=".."
app:strokeColor="@color/colorPrimary"/>
и используйте метод setCornerRadius
a>.
Что-то вроде:
button.setCornerRadius(..);
Вы должны сделать xml drawable с нужным закругленным фоном прямоугольника (обязательно используйте список состояний, который можно нарисовать, если вы хотите, чтобы он выделялся при нажатии) и установить его в качестве фона. Установка его в качестве фона — это просто вызов setBackgroundDrawable.