Bạn có thể thực hiện một nút tròn ở góc mà không cần dùng đến ImageView.
Một nền tài nguyên selector, button_background.xml
:
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<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" />
<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" />
<item android:state_pressed="true" android:drawable="@drawable/button_press" />
</selector>
Đối với mỗi trạng thái, một tài nguyên có thể vẽ được, ví dụ: 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>
Lưu ý corners
phần tử, điều này giúp bạn có các góc tròn!
Sau đó đặt nền có thể vẽ trên nút:
android:background="@drawable/button_background"
EDIT (9/2018) : Kỹ thuật tương tự có thể được sử dụng để tạo một nút tròn. Hình tròn thực sự chỉ là một nút hình vuông với kích thước bán kính được đặt bằng 1/2 cạnh của hình vuông
Ngoài ra, trong ví dụ trên , các yếu tố không cần thiết stroke
và gradient
không cần thiết, chúng chỉ là ví dụ và cách bạn có thể thấy hình dạng góc tròn