Android中使用Drawbl資源

Drawble是Android應用中使用最靈活,也是最廣泛的資源,不僅可以直接使用".png",".jpg",".9.png"等圖片做爲資源,也可以直接使用多種XML文件作爲資源。只要一份XML文件可以被系統編譯成Drawble子類的對象,那麼這份XML文件就可以作爲Drawble資源

  • Drawble下圖片資源

最簡單的資源,吧 “.png”,".jpg",".9.png"等格式放入/res/ drawble-xxx目錄下,Android應用在編譯應用時會自佛呢及時加載圖片,並在R清單類中生成該資源的索引

  • Drawble下StateList Drawble資源

用於組織多個 Drawble對象。當使用 StateList Drawble 作爲目標組件的背景,背景圖片時, StateList Drawble 對象所心事的 Drawble對象會隨着目標組件的改變而自動切換

運用場景:高亮顯示文本框

<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
 <!-- 指定獲得焦點時的顏色 -->
 <item android:state_focused="true"
    android:color="#f44"/>
 <!-- 指定失去焦點時的顏色 -->
 <item android:state_focused="false"
    android:color="#ccf"/>
</selector>
  • Drawble下Layer Drawble資源

和 StateList Drawble有點類似, Layer Drawble也可以包含一個 Drawble數組,因此字體將會按照這些 Drawble對象的數組順序來繪製它們,索引最大的 Drawble對象將會被繪製在最上面

運用場景:定製拖動條外觀

<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
 <!-- 定義軌道的背景 -->
 <item android:id="@android:id/background"
    android:drawable="@drawable/grow" />
 <!-- 定義軌道上已完成部分的外觀-->
 <item android:id="@android:id/progress"
    android:drawable="@drawable/ok" />
</layer-list>
  • Drawble 下Shape Drawble資源

用於定義一個基本的幾何圖形(例如:圓形,矩形,線性),定義 Shape Drawble的XML文件的跟元素的<shape…>

運用場景:橢圓形的文本框

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
 android:shape="rectangle">
 <!-- 設置填充顏色 -->
 <solid android:color="#fff"/>
 <!-- 設置四周的內邊距 -->
 <padding android:left="7dp"
    android:top="7dp"
    android:right="7dp"
    android:bottom="7dp" />
 <!-- 設置邊框 -->
 <stroke android:width="3dip" android:color="#ff0" />
</shape>
  • Drawble下Clip Drawble資源

代表從全位圖上街區的一個圖片的片段,在XML中使用<clip…>開頭

運用場景:慢慢展開的風景

<?xml version="1.0" encoding="UTF-8"?>
<clip xmlns:android="http://schemas.android.com/apk/res/android"
 android:drawable="@drawable/shuangta"
 android:clipOrientation="horizontal"
 android:gravity="center">
</clip>
  • Drawble 下Animation Drawble資源

代表一個動畫,既支持傳統的逐幀動畫,也支持通過平移、變換計算出來的補間動畫。

<?xml version="1.0" encoding="UTF-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
 android:interpolator="@android:anim/linear_interpolator"
 android:duration="5000">
 <!-- 定義縮放變換 -->
 <scale android:fromXScale="1.0"
  android:toXScale="1.4"
  android:fromYScale="1.0"
  android:toYScale="0.6"
  android:pivotX="50%"
  android:pivotY="50%"
  android:fillAfter="true"
  android:duration="2000"/>
 <!-- 定義位移變換 -->
 <translate android:fromXDelta="10"
  android:toXDelta="130"
  android:fromYDelta="30"
  android:toYDelta="-80"
  android:duration="2000"/>
</set>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章