Android ImageView的setImageLevel和level-list使用簡介


Android ImageView的setImageLevel和level-list使用簡介

在Android開發中,有時候需要對一個ImageView設置很多不同圖片以表示某種應用狀態,比如,典型的是手機的信號強度從強到弱有多種狀態圖;wifi有解鎖和未解鎖狀態,解鎖和未解鎖狀態的圖標也是很多種。如果每次都一一的通過ImageView設置圖片的src來達到這一目的,實在是太過於繁瑣,且維護和管理起來不便。因此,引入ImageView的setImageLevel和level-list實現這一目的。
比如圖中有10種不同類型的手機信號表示狀態圖標icon:


那就先分類寫兩個level-list:p.xml和q.xml(都位於drawable目錄下)
p.xml:

[html] view plain copy
  1. <level-list xmlns:android="http://schemas.android.com/apk/res/android">  
  2.     <item android:maxLevel="0" android:drawable="@drawable/p0" />  
  3.     <item android:maxLevel="1" android:drawable="@drawable/p1" />  
  4.     <item android:maxLevel="2" android:drawable="@drawable/p2" />  
  5.     <item android:maxLevel="3" android:drawable="@drawable/p3" />  
  6.     <item android:maxLevel="4" android:drawable="@drawable/p3" />  
  7. </level-list>  


q.xml:

[html] view plain copy
  1. <level-list xmlns:android="http://schemas.android.com/apk/res/android">  
  2.     <item android:maxLevel="0" android:drawable="@drawable/q0" />  
  3.     <item android:maxLevel="1" android:drawable="@drawable/q1" />  
  4.     <item android:maxLevel="2" android:drawable="@drawable/q2" />  
  5.     <item android:maxLevel="3" android:drawable="@drawable/q3" />  
  6.     <item android:maxLevel="4" android:drawable="@drawable/q4" />  
  7. </level-list>  


然後,如果意圖使一個ImageView顯示 q3 的圖標,那麼通過這樣的代碼就可以實現:

[java] view plain copy
  1. ImageView image=(ImageView)findViewById(R.id.image);  
  2.         image.setImageResource(R.drawable.q);  
  3.         image.setImageLevel(3);  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章