Вы можете сделать кнопку с закругленными углами, не прибегая к ImageView.
Ресурс выбора фона, button_background.xml
:
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Non focused states
-->
<item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/button_unfocused" />
<item android:state_focused="false" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/button_unfocused" />
<!-- Focused states
-->
<item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/button_focus" />
<item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/button_focus" />
<!-- Pressed
-->
<item android:state_pressed="true" android:drawable="@drawable/button_press" />
</selector>
Для каждого состояния - доступный для использования ресурс, например, button_press.xml:
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<stroke android:width="1dp" android:color="#FF404040" />
<corners android:radius="6dp" />
<gradient android:startColor="#FF6800" android:centerColor="#FF8000" android:endColor="#FF9700" android:angle="90" />
</shape>
Обратите внимание на атрибут corners
, это дает вам закругленные углы!
Затем установите фон для рисования на кнопке:
android:background="@drawable/button_background"
РЕДАКТИРОВАТЬ (9/2018) : ту же технику можно использовать для создания круглой кнопки. Круг - это просто квадратная кнопка с радиусом, равным 1/2 стороны квадрата
Кроме того, в приведенном выше примере stroke
и gradient
не являются необходимыми элементами, это всего лишь примеры и способы, которыми вы сможете увидеть форму закругленного угла