LevelListDrawable 학습

2834 단어 android

    <?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>


XML 에서 정의 하 는 Drawable 의 하 나 는 < level - list > 를 루트 요소 로 하고 그 사이 에 여러 개의 < item > 노드 를 포함 할 수 있 습 니 다. 각 < item > 노드 는 drawable 대상 과 max Level 과 minLevel 값 을 포함 합 니 다. 예 를 들 어:
<?xml version="1.0" encoding="utf-8"?>
<level-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:minLevel="0" android:maxLevel="10" android:drawable="@drawable/b1" />
    <item android:minLevel="11" android:maxLevel="20" android:drawable="@drawable/b2" />
    <item android:minLevel="21" android:maxLevel="30" android:drawable="@drawable/b3" />    
    <item android:minLevel="31" android:maxLevel="40" android:drawable="@drawable/b4" />
</level-list>

우리 가 LevelList Drawable 대상 에 게 Level 값 을 제공 하면 LevelList Drawable 대상 은 앞에서 모든 < item > 을 살 펴 보고 특정한 < item > 노드 의 Level 범위 가 제 공 된 Level 값 을 만족 시 키 면 이 < item > 결점 에서 지정 한 drawable 로 돌아 갑 니 다.더 이상 뒤 를 찾 지 않 을 겁 니 다.따라서 이 LevelList Drawable 을 정의 할 때 각 < item > 의 순 서 를 주의해 야 합 니 다.예 를 들 면:
<?xml version="1.0" encoding="utf-8"?>
<level-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:maxLevel="40" android:drawable="@drawable/b4" />   
    <item android:maxLevel="10" android:drawable="@drawable/b1" />
    <item android:maxLevel="20" android:drawable="@drawable/b2" />
    <item android:maxLevel="30" android:drawable="@drawable/b3" />    
</level-list>

그러면 어떤 Level 값 을 제공 하 더 라 도 다음 세 개의 < item > 에 있 는 drawable 을 되 돌려 주지 않 습 니 다. (여기 서 제공 하 는 Level 값 이 40 을 넘 으 면 빈 대상 으로 돌아 갑 니 다.)
 
Drawable 대상 의 setLevel (int) 방법 으로 Level 값 을 제공 할 수 있 습 니 다.
예 를 들 어 LevelListDrawable 을 View 의 background 로 사용 한 후에 View 의 getBackground () 방법 으로 이 Drawable 대상 을 얻 은 다음 에 이 Drawable 대상 의 setLevel () 방법 을 호출 하여 서로 다른 Level 값 을 제공 하면 View 의 배경 을 바 꿀 수 있 습 니 다.이것 은 진도 바, 볼 륨 조절 등 효 과 를 만 드 는 데 쓸 수 있다.
ImageView 구성 요 소 는 또한 setImageLevel () 방법 을 제공 하여 android: src 가 지정 한 LevelListDrawable 의 Level 값 을 빠르게 설정 합 니 다 (android: backgroudn 이 지정 한 배경 은 View 형식 으로 변경 해 야 합 니 다).
 
 

좋은 웹페이지 즐겨찾기