Android:【動畫】帶幀動畫的Selector
普通selector只能在兩種狀態圖片之間切換,animated-selector允許通過幀動畫從一個狀態切換到另一個狀態

XML程式碼:
<?xml version="1.0" encoding="utf-8"?> <animated-selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 開啟狀態 --> <item android:id="@+id/state_on" android:state_selected="true" android:drawable="@drawable/bt_switch_01"/> <!-- 關閉狀態 --> <item android:id="@+id/state_off" android:state_selected="false" android:drawable="@drawable/bt_switch_10"/> <!-- 開啟切換到關閉的動畫 --> <transition android:fromId="@id/state_on" android:toId="@id/state_off"> <animation-list> <item android:drawable="@drawable/bt_switch_01" android:duration="30"/> <item android:drawable="@drawable/bt_switch_02" android:duration="30"/> <item android:drawable="@drawable/bt_switch_03" android:duration="30"/> <item android:drawable="@drawable/bt_switch_04" android:duration="30"/> <item android:drawable="@drawable/bt_switch_05" android:duration="30"/> <item android:drawable="@drawable/bt_switch_06" android:duration="30"/> <item android:drawable="@drawable/bt_switch_07" android:duration="30"/> <item android:drawable="@drawable/bt_switch_08" android:duration="30"/> <item android:drawable="@drawable/bt_switch_09" android:duration="30"/> <item android:drawable="@drawable/bt_switch_10" android:duration="30"/> </animation-list> </transition> <!-- 關閉切換到開啟的動畫 --> <transition android:fromId="@id/state_off" android:toId="@id/state_on"> <animation-list> <item android:drawable="@drawable/bt_switch_10" android:duration="30"/> <item android:drawable="@drawable/bt_switch_09" android:duration="30"/> <item android:drawable="@drawable/bt_switch_08" android:duration="30"/> <item android:drawable="@drawable/bt_switch_07" android:duration="30"/> <item android:drawable="@drawable/bt_switch_06" android:duration="30"/> <item android:drawable="@drawable/bt_switch_05" android:duration="30"/> <item android:drawable="@drawable/bt_switch_04" android:duration="30"/> <item android:drawable="@drawable/bt_switch_03" android:duration="30"/> <item android:drawable="@drawable/bt_switch_02" android:duration="30"/> <item android:drawable="@drawable/bt_switch_01" android:duration="30"/> </animation-list> </transition> </animated-selector>
Java程式碼:
//將animated-selector設定為控制元件影象 Drawable drawable = getResources().getDrawable(R.drawable.animated_selector); iv.setImageDrawable(drawable); //將控制元件設定為開啟狀態 iv.setSelected(true); //將控制元件設定為關閉狀態 iv.setSelected(false);
最後送福利了,現在關注我並且加入群聊可以獲取包含原始碼解析,自定義View,動畫實現,架構分享等。 內容難度適中,篇幅精煉,每天只需花上十幾分鍾閱讀即可。 大家可以跟我一起探討,歡迎加群探討,有flutter—效能優化—移動架構—資深UI工程師 —NDK相關專業人員和視訊教學資料,還有更多面試題等你來拿~ 群號:661841852


QQ截圖20190510143109.jpg
點選連結加入群聊【Android開發行業交流】: https://jq.qq.com/?_wv=1027&k=5E5tkJ5