android drawable

繪製資源類型 (Drawable)類中有個setLevel()的方法他的做用是選擇某個級別中可繪製的資源

有時候,咱們爲了在一個image view中顯示不一樣的圖片,每每會使用: 

if (條件1) java


image.setBackground(R.id.xxx1); 
} android

else if (條件2) ide


image.setBackground(R.id.xxx2); 
} ... 
可使用setLevel()更好的實現 spa

在xml中: code

<?xml version="1.0" encoding="utf-8"?>
<level-listxmlns: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>

調用setLevel顯示不一樣的圖片 xml

在java中: 圖片

leftPoint.getDrawable().setLevel(1);
        viewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
            @Override
            public void onPageSelected(int position) {
                super.onPageSelected(position);
                switch (position) {
                    case 0:
                        leftPoint.getDrawable().setLevel(1);
                        centerPoint.getDrawable().setLevel(0);
                        rightPoint.getDrawable().setLevel(0);
                        break;
                    case 1:
                        leftPoint.getDrawable().setLevel(0);
                        centerPoint.getDrawable().setLevel(1);
                        rightPoint.getDrawable().setLevel(0);
                        break;
                    case 2:
                        leftPoint.getDrawable().setLevel(0);
                        centerPoint.getDrawable().setLevel(0);
                        rightPoint.getDrawable().setLevel(1);
                        break;

                }
            }
        });
        addView(view);
    }
相關文章
相關標籤/搜索