您的位置:首页 > 移动开发 > Android开发

Android--(level-list)资源文件

2015-09-16 21:13 681 查看

drawable目录下的level-list类型的xml文件

<?xml version="1.0" encoding="utf-8"?>
<level-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- maxLevel , minLevel 代表的是一个范围 [minLevel,maxLevel],代码中设置的level值在这个范围内才被显示-->
<!-- 代码中设置level值后,会从这个xml文件从上往下找匹配的值,如果第一个匹配符合要求,就不会匹配后面符合要求的-->
<!-- imageView.setImageLevel(level);-->
<!-- 如下所示 如果代码中设置的level小于40,那么只会匹配第一个,level设置为30,、20、10都不会被40匹配到-->
<item android:maxLevel="40" android:drawable="@drawable/elec01"/>
<item android:maxLevel="30" android:drawable="@drawable/elec02"/>
<item android:maxLevel="20" android:drawable="@drawable/elec03"/>
<item android:maxLevel="10" android:drawable="@drawable/elec04"/>
<!-- 正规写法 如下:-->
<item android:drawable="@drawable/elec06" android:maxLevel="0"/>
<item android:drawable="@drawable/elec05" android:maxLevel="1"/>
<item android:drawable="@drawable/elec04" android:maxLevel="2"/>
<item android:drawable="@drawable/elec03" android:maxLevel="3"/>
<item android:drawable="@drawable/elec02" android:maxLevel="4"/>
<item android:drawable="@drawable/elec01" android:maxLevel="5"/>
</level-list>


代码中调用

imageView.getDrawable().setLevel(int level);


使用LevelDrawable注意几点:

1、默认的level为0,如果没有和0匹配的level,那么就不显示。

2、level匹配以maxLevel优先。即如果有个item,min:1,max:2。 另一份item,min:2,max:3。

如果此时设置level=2,那么会匹配第一个item。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: