Vì mục đích này, tôi đã sử dụng ImageButton. Trong quá trình bảo vệ xml, bạn sẽ thấy hai thuộc tính sau:
- android: background - Có thể vẽ để sử dụng làm nền.
- android: scr - Đặt một nội dung có thể vẽ được làm nội dung của ImageView này.
Vì vậy, chúng tôi có hai có thể kéo: nền một và nguồn. Trong bạn ví dụ nguồn sẽ là triagle (drawable / trianlge):
|\
| \
|__\
Và nền là hình vuông (có thể vẽ / hình vuông):
_____________
| |
| |
| |
| |
|____________|
Đây là ví dụ về ImageButton xml:
<ImageButton
...
android:src="@drawable/triangle"
android:background="@drawable/square">
Kết quả:
_____________
| |
| |\ |
| | \ |
| |__\ |
|____________|
Cũng có thể vẽ hình vuông, có thể có một số trạng thái khác nhau (được nhấn, tập trung). Và bạn có thể mở rộng kích thước có thể vẽ backgroud bằng cách sử dụng đệm.
Để đề phòng, đây là ví dụ về nền có thể vẽ từ Thanh tác vụ Android Compat:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_enabled="false" android:state_pressed="true" android:drawable="@drawable/abc_list_selector_disabled_holo_dark" />
<item android:state_focused="true" android:state_enabled="false" android:drawable="@drawable/abc_list_selector_disabled_holo_dark" />
<item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/abc_list_selector_background_transition_holo_dark" />
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/abc_list_selector_background_transition_holo_dark" />
<item android:state_focused="true" android:drawable="@drawable/abc_list_focused_holo" />
<item android:drawable="@android:color/transparent" />
</selector>