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