LevelListDrawable

LevelListDrawable_第1张图片
图片介绍

其他Draw文章参考:
Android中Drawable整体介绍

前言

管理多个可选Drawable的资源,每个Drawable分配一个最大数值。 使用setLevel(int)设置对象的级别值将加载具有指定给其max属性的下一个较大或相等的值的图像。 一个很好的使用LevelListDrawable的例子是一个电池电量指示器图标,用不同的图像来表示当前的电池电量。

管理大量备选可绘制对象的可绘制对象,每个可绘制对象都分配有最大的备选数量。使用 setLevel() 设置可绘制对象的级别值会加载级别列表中android:maxLevel 值大于或等于传递到方法的值的可绘制对象资源。

语法



    

(1)

这必须是根元素。包含一个或多个 元素。
属性:
xmlns:android
字符串。必备。定义 XML 命名空间,其必须是 "http://schemas.android.com/apk/res/android"。

定义要在某特定级别使用的可绘制对象。
属性:
android:drawable
可绘制对象资源。必备。引用要插入的可绘制对象资源。

android:maxLevel
整型。此项目允许的最高级别。

android:minLevel
整型。此项目允许的最低级别。

例子



    

    


在布局文件中给button控件使用,然后这个在使用时候:
如果是当做View的背景,可以通过Drawable的setLevel设置水平
如果是ImageView使用时候,可以通过setImageLevel设置水平

        mButton = (Button) findViewById(R.id.my_button);

        final Drawable drawable = mButton.getBackground(); //当背景使用时候的关键

        mButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (i == 0){
                    drawable.setLevel(400);
                    i = 1;
                }else if (i == 1){
                    drawable.setLevel(600);
                    i = 2;

                }else {
                    drawable.setLevel(0);
                    i = 0;
                }
            }
        });
    }

你可能感兴趣的:(LevelListDrawable)