編輯:關於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程序設計有所幫助。
在使用studio開發的項目過程中有時候我們想將項目發布到github上,以前都是用一種比較麻煩的方式(cmd)進行提交,最近發現studio其實是自帶這種功能的,終於可
ObjectAnimator,通過設置改變對象的屬性來實現動畫效果,常用的方法有這麼幾種,ofFloat()、ofInt()、ofObject()、ofArgb()、of
本文詳細描述了如何實現如下圖中的微信啟動界面. 該類啟動界面的特點是在整個Application的生命周期裡, 它只會出現在第一次進入應用時, 即便按回退鍵到桌面之後.
為多屏設計(一) - 支持多個屏幕尺寸參考地址:http://developer.android.com/training/multiscreen/index.htmlA