Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android編程簡單實現ImageView點擊時背景圖修改的方法

Android編程簡單實現ImageView點擊時背景圖修改的方法

編輯:關於Android編程

本文實例講述了Android編程簡單實現ImageView點擊時背景圖修改的方法。分享給大家供大家參考,具體如下:

在使用ImageView時,當被點擊時,希望背景圖修改一下,這樣顯示被點擊效果明顯一些。在這裡,一個很簡單的方法,最起碼是個很清晰的方法。在res/drawable文件夾下創建一個xml文件。比如my.xml,內容如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
  <item android:state_pressed="true"
    android:drawable="@*android:drawable/btn_search_dialog_voice_pressed" />
  <item android:state_pressed="false"
    android:drawable="@*android:drawable/btn_search_dialog_voice_default" />
</selector>

這裡面要注意一點,就是在上面的drawable是引用的系統的圖片資源,如果是使用自己的圖片資源,要使用如下格式
復制代碼 代碼如下:android:drawable="@drawable/ic_desk_point_normal"

然後,在定義imageView的xml文件裡面設置:

android:src="@drawable/youPicture"
android:background="@drawable/my"

以上即可完成效果。

記得ImageView要加上加上clickable="true",不然它的selector 是不會有效果。

把下面的XML保存成.xml文件(比如list_item_bg.xml),運行時系統會根據ListView中列表項的狀態來使用相應的背景圖片。

drawable/list_item_bg.xml

<?xml version="1.0" encoding="utf-8" ?>   
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
 <!-- 默認時的背景圖片 -->  
 <item android:drawable="@drawable/pic1" /> 
 <!-- 沒有焦點時的背景圖片 -->  
 <item android:state_window_focused="false"  
    android:drawable="@drawable/pic1" />   
 <!-- 非觸摸模式下獲得焦點並單擊時的背景圖片 -->  
 <item android:state_focused="true" android:state_pressed="true"   
    android:drawable= "@drawable/pic2" />  
 <!-- 觸摸模式下單擊時的背景圖片 -->  
 <item android:state_focused="false" android:state_pressed="true"   
    android:drawable="@drawable/pic3" />   
 <!--選中時的圖片背景 -->  
 <item android:state_selected="true"   
    android:drawable="@drawable/pic4" />   
 <!--獲得焦點時的圖片背景 -->  
 <item android:state_focused="true"   
    android:drawable="@drawable/pic5" />   
</selector>

使用方法:

第一種是在listview中配置復制代碼 代碼如下:android:listSelector="@drawable/list_item_bg"
第二種是在listview的item中添加屬性復制代碼 代碼如下:android:background="@drawable/list_item_bg"
第三種是java代碼中使用:

Drawable drawable = getResources().getDrawable(R.drawable.list_item_bg);
listview.setSelector(drawable);

注:列表有時候為黑的情況,需要加上下面的代碼使其透明:
復制代碼 代碼如下:android:cacheColorHint="@android:color/transparent"

希望本文所述對大家Android程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved