ImageView及其子类(二)

实例:强大的图片按钮

      下面的实例定义了多个图片按钮,并定义了两个ZoomButton。两个ZoomButton的android:src属性分别指定为@android:drawable/btn_minus、@android:drawable/btn_plus,这样可以定义缩小和放大两个按钮。

     下面是该实例的界面布局文件。

     

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
     >
<!-- 普通图片按钮 -->
  <ImageButton android:layout_width="wrap_content"
      android:layout_height="wrap_content" 
      android:src="@drawable/blue"/>
  <!-- 按下时显示不同的按钮 -->
  <ImageButton android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:src="@drawable/button_selector" />
  <LinearLayout 
      android:orientation="horizontal"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_margin="10sp"
      android:layout_gravity="center_horizontal">
      <!-- 分别定义2个ZoomButton,并分别使用btn_munus和btn_plus图片 -->
      <ZoomButton
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:id="@+id/btn_zoom_down"
          android:src="@android:drawable/btn_minus" />
      <ZoomButton 
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:id="@+id/btn_zoom_up"
          android:src="@android:drawable/btn_plus"/>
  </LinearLayout>
  <!-- 定义ZoomControls组件 -->
  <ZoomControls android:id="@+id/zoomControls1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_gravity="center_horizontal"/>
</LinearLayout>

   

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <!-- 指定按钮按下时的图片 -->
    <item android:state_pressed="true" android:drawable="@drawable/red"/> 
      <!-- 指定按钮松开时的图片 -->
      <item android:state_pressed="false" android:drawable="@drawable/purple" />  
   
</selector>

    上面布局文件的开头定义了两个ImageButton,第一个ImageButton的android:src指定为一张静态图片,这样无论用户有怎样的行为,该ImageButton总显示这张静态图片。第二个ImageBUtton的android:src指定为@drawable/button_selector,该Drawable组合了两张图片,可以保证用户单击该按钮时切换图片。

     运行界面如下图:

      

原文地址:https://www.cnblogs.com/wolipengbo/p/3377457.html