Drawable 更換圖片的方式,可以在程式碼做判斷時,避免使用 switch-case 或 if-else 來判斷 ImageView 的背景圖片要用甚麼,透過 level-list 可以比較輕鬆的完成。
步驟:
1. 首先準備要替換的圖片
|
wifi 信號強度圖片 |
2. 將檔案加入專案內
備註 : 要注意命名,原本使用底線 ( _ ) 命名 .jpg 檔案,後續會讀取不到
3. 針對 drawable 新增 .xml 檔
|
新增 Drawable Resource File |
4. 輸入檔案名稱
|
Root element 選擇 level-list |
5. 完成後點選 OK
6. 產生 .xml 檔案
|
wifi_strength.xml |
7. 建立 item
|
選擇 drawable |
|
輸入 mipmap 圖片路徑 |
8. 設定 maxLevel ,注意不要重複
9. 設定 3 個 item
備註 : maxLevel 不用按照順序增加,但是需要按照大小順序排序。
正確 2 < 4 < 6
正確 2 < 5 < 11
錯誤 1 < 9 < 7 (沒按照順序)
錯誤 1 < 2 < 2 (重複)
範例如下 :
|
可以設定 20, 40 ,60 |
不要設定成
|
20 , 2, 60 會有問題 |
使用 20, 2, 60 測試結果
|
設定 ImageLevel 為 2 ,模擬器沒有反應 |
10. 實測,設定 maxLevel 為 1, 2, 3 效果
|
設定 .xml 檔 |
|
設定 Activity .xml 檔,background 設定 wifi_strength.xml |
|
測試設定 setImageLevel 為 2 須注意要與 .xml 檔設定相同,如設定為maxLevel 20, 40 ,60 不可以設定 setImageLevel 成 1, 2, 3會錯誤 |
|
setImageLevel 為 2 模擬器效果 |
留言
張貼留言