vButtonImageButton的功能都非常单一,主要是在UI上生成一个按钮供用户点击,当组件被点击的时候,触发一个OnClick事件。
vImageButtontext属性无效。

按钮可以通过background属性为按钮增加背景色或背景图片,但这种设置是固定的,不能通过事件和代码进行更改。

 

定义可以随用户动作而改变的按钮,可以使用XML资源文件来定义Drawable对象,再将Drawable对象设为Buttonbackground性值,或ImageButtonsrc属性值。

自定义图片按钮:button.xml

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <selector  xmlns:android="http://schemas.android.com/apk/res/android"> 
  3.     <item android:state_pressed="true" 
  4.         android:drawable="@drawable/leaf"></item> 
  5.     <item android:state_pressed="false"   
  6.         android:drawable="@drawable/ic_launcher"></item> 
  7. </selector> 

布局文件:

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  3. android:orientation="vertical" 
  4. android:layout_width="fill_parent" 
  5. android:layout_height="fill_parent" 
  6. > 
  7.         <TableRow > 
  8.             <Button   
  9.                 android:layout_width="wrap_content" 
  10.                 android:layout_height="wrap_content" 
  11.                 android:background="@drawable/leaf" 
  12.                 android:text="普通的按钮" 
  13.                 /> 
  14.             <ImageButton   
  15.                 android:layout_width="wrap_content" 
  16.                 android:layout_height="wrap_content" 
  17.                 android:src="@drawable/leaf"/> 
  18.         </TableRow> 
  19.         <TableRow > 
  20.             <Button   
  21.                 android:layout_width="wrap_content" 
  22.                 android:layout_height="wrap_content" 
  23.                 android:background="@drawable/button" 
  24.                 android:text="图片背景的普通按钮"/> 
  25.             <ImageButton   
  26.                 android:layout_width="wrap_content" 
  27.                 android:layout_height="wrap_content" 
  28.                 android:src="@drawable/button"/> 
  29.         </TableRow> 
  30. </TableLayout> 
  31.