Кнопка с пользовательским XML-макетом

Можно ли создать кнопку с пользовательским XML-макетом?

У меня есть этот макет:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="1dp" android:background="#7e7e7e"> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="10dp" android:background="#f9f9f9"> <TextView android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:text="ButtText" android:textColor="#000000"> </TextView> <ImageView android:id="@+id/ImageView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/arrow" android:layout_alignParentRight="true"> </ImageView> </RelativeLayout> </LinearLayout> 

Теперь я хочу использовать это на кнопке. Кто-нибудь знает, как я могу это сделать?
Я думал, если бы у меня был файл Button.java, который расширил Button. А затем setView (R.layout.mylayout.xml); … но это было легко, и это явно не работает

С уважением, Мартин

Solutions Collecting From Web of "Кнопка с пользовательским XML-макетом"

Вы не можете буквально использовать этот макет на лицевой панели. Тем не менее, вы можете добиться аналогичного вида, используя свойство android:drawableRight на Button .

Я недавно общался с этим, потому что хотел наложить два текстовых изображения на кнопку. Вы должны выбрать:

  1. Класс Extend Button и используйте его в своем макете
  2. Используйте макет, установленный на кнопке, и перетащите его в нужное вам время и сделайте его кликабельным, добавив к нему этот параметр:

     android:clickable="true" 

После этого вы можете изменить представление вашего макета, указав

 android:background="@drawable/my_background" 

Дать ему «пуговичное» лицо и поведение

/res/drawable/mi_background.xml

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_focused="true" android:drawable="@color/black"/> <item android:state_pressed="true" android:state_enabled="false" android:drawable="@color/black" /> <item android:drawable="@color/white"/> </selector>