2010年11月1日月曜日

Android LevelListDrawable

LevelListDrawable は Level(整数値)と画像リソースをひも付けて、1つの drawable で複数の画像リソースを切り替えられるようにしたもの

各 Level と 画像リソースの紐付けは XML ファイルで定義することができる

LevelList

setLevel() で drawable に level を設定すると、level list 内を上から走査していって、設定値より大きい or 等しい android:maxLevel が定義されたリソースを読み込む

XMLファイルの保存場所 : res/drawable/filename.xml 
(ファイル名はリースID になる)

リソースの参照
  Java: R.drawable.filename
  XML: @[package:]drawable/filename

syntax:

<?xml version="1.0" encoding="utf-8"?>
<level-list
xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:drawable="@drawable/drawable_resource"
android:maxLevel="integer"
android:minLevel="integer" />
</level-list>


elements:

 <level-list>

  root element でなければならない
  1つ以上の <item> element を含む

 <item>
 
  level にひも付ける画像リソースを定義する

  attributes:

    android:drawable
   
      設定する画像リソースの ID、必須

    android:maxLevel

      整数値、この item が許可する最大 level

    android:minLevel
  
      整数値、この item が許可する最小 level

example:

<?xml version="1.0" encoding="utf-8"?>
<level-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:drawable="@drawable/status_off"
android:maxLevel="0" />
<item
android:drawable="@drawable/status_on"
android:maxLevel="1" />
</level-list>


View に割り当てた後は、level は setLevel() もしくは setImageLevel() で変更可能


# 電池の残量はこれが使われている
# パラパラアニメーションとかつくれるはず

 

0 件のコメント:

コメントを投稿