本文實例講述了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是引用的系統的圖片資源,如果是使用自己的圖片資源,要使用如下格式
然后,在定義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中配置
Drawable drawable = getResources().getDrawable(R.drawable.list_item_bg);listview.setSelector(drawable);
注:列表有時候為黑的情況,需要加上下面的代碼使其透明:
希望本文所述對大家Android程序設計有所幫助。
新聞熱點
疑難解答
圖片精選