具有自定义XML布局的button

是否有可能创build一个自定义XML布局的button

我有这样的布局:

<?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。 任何人都知道我可以做到这一点?
我在想如果我有Button.java文件扩展button。 然后setView(R.layout.mylayout.xml); …但这很容易,显然不工作

问候马丁

  • Android XML值 - String Array ::在值中放置引号?
  • 在android中listview项的边框
  • 如何使RatingBar显示五颗星
  • Android:自动为xml中的所有ID创建variables
  • 如何将PSDdevise转换为Android xml?
  • Android是否可以在XML文件中定义地图?
  • 从android执行shell命令
  • android - dynamic更改选项菜单,但通过从XML膨胀
  • 你不能从字面上使用Button上的布局。 不过,您可以使用Button上的android:drawableRight属性来实现类似的效果。

    最近我一直在处理这个问题,因为我想把两个文本视图放在一个button中。 你必须select:

    1. 扩展Button类并在您的布局中使用它
    2. 使用一个button的内部布局,并拖动里面的所需,并通过添加这个参数来使其可点击:

       android:clickable="true" 

    之后,你可以通过定义修改你的布局的外观

     android:background="@drawable/my_background" 

    给它一个“button”的表情和行为

    /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> 

    你可以使用一个RelativeLayout来简单地将你的自定义button视图覆盖在一个真正的button上,如下所示:

     <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="match_parent" /> <!-- Your custom button layout --> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:background="#7e7e7e" android:padding="1dp"> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" android:background="#f9f9f9" android:padding="10dp"> <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" /> <ImageView android:id="@+id/ImageView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:background="@drawable/jobs_menu" /> </RelativeLayout> </LinearLayout> </RelativeLayout>