巧用ImageView屬性實現(xiàn)選中和未選中效果
選中和未選中狀態(tài)變更是很常見需求,UI那邊出的兩個不同狀態(tài)的圖片,然后開發(fā)這邊去實現(xiàn)
通常實現(xiàn)思路:
我們會選擇在布局里加個ImageView,然后通過代碼層面加個判斷去讓ImageView加載不同狀態(tài)的圖片
其實,還有個更簡單的方法,我們可以利用ImageView里的isSelected
屬性來實現(xiàn)
實現(xiàn)
1.不同狀態(tài)的圖片資源準(zhǔn)備
首先,準(zhǔn)備兩個不同狀態(tài)的圖片,這里各位就自行尋找圖片吧
2.selector文件編寫
之后,我們需要編寫一個selector文件,需要在drawable文件夾里新增selector_img.xml
文件
<selector xmlns:android="http://schemas.android.com/apk/res/android">
? ?<item android:drawable="@mipmap/founction2" android:state_selected="true"/>
? ?<item android:drawable="@mipmap/founction" android:state_selected="false"/></selector>
注意state_selected
屬性,true就是選中狀態(tài)顯示的圖片
3.xml布局設(shè)置
在xml布局里增加一個ImageView,并將src設(shè)置為上面我們創(chuàng)建的selector_img
,如下圖所示

4.代碼邏輯
代碼邏輯沒啥好說的,就是找到圖片示例,然后給圖片對象設(shè)置isSelected屬性即可更改圖片,如下圖所示

標(biāo)簽: