Для цього я використовував ImageButton. У визначенні xml ви побачите ці два атрибути:
- android: background - малюнок, який можна використовувати як фон.
- android: scr - встановлює як вміст цього ImageView зображення, яке можна малювати.
Отже, у нас є два малюнки: перший фон та джерело. У вашому прикладі джерелом буде трикутник (малювальний / триангель):
|\
| \
|__\
А фон квадратний (для малювання / квадрат):
_____________
| |
| |
| |
| |
|____________|
Ось приклад ImageButton xml:
<ImageButton
...
android:src="@drawable/triangle"
android:background="@drawable/square">
Результат:
_____________
| |
| |\ |
| | \ |
| |__\ |
|____________|
Також квадратний для малювання, міг мати кілька різних станів (натиснутий, сфокусований). І ви можете розширити розмір фонового малюнка, який можна малювати, використовуючи прокладки.
Про всяк випадок, ось приклад для фонового малювання з панелі дій 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>