用来管理一组Drawable的,我们可以为里面的drawable设置不同的level, 当他们绘制的时候,会根据level属性值获取对应的drawable绘制到画布上,根节点 为:<level-list>他并没有可以设置的属性,我们能做的只是设置每个<item> 的属性!

item可供设置的属性如下

  • drawable:引用的位图资源,如果为空徐璈有一个Drawable类型的子节点
  • minlevel:level对应的最小值
  • maxlevel:level对应的最大值

通过shapeDrawable画圆,一式五份,改下宽高即可:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#2C96ED"/>
<size android:height="20dp" android:width="20dp"/>
</shape>

level_cir.xml

<?xml version="1.0" encoding="utf-8"?>
<level-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/shape_cir1" android:maxLevel="2000"/>
<item android:drawable="@drawable/shape_cir2" android:maxLevel="4000"/>
<item android:drawable="@drawable/shape_cir3" android:maxLevel="6000"/>
<item android:drawable="@drawable/shape_cir4" android:maxLevel="8000"/>
<item android:drawable="@drawable/shape_cir5" android:maxLevel="10000"/>
</level-list>
public class MainActivity extends AppCompatActivity {

    private ImageView img_show;

    private LevelListDrawable ld;
private Handler handler = new Handler() {
public void handleMessage(Message msg) {
if (msg.what == 0x123) {
if (ld.getLevel() > 10000) ld.setLevel(0);
img_show.setImageLevel(ld.getLevel() + 2000);
}
}
}; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
img_show = (ImageView) findViewById(R.id.img_show);
ld = (LevelListDrawable) img_show.getDrawable();
img_show.setImageLevel(0);
new Timer().schedule(new TimerTask() {
@Override
public void run() {
handler.sendEmptyMessage(0x123);
}
}, 0, 100);
}
}

最新文章

  1. tcp三次握手和四次握手
  2. 详解java方法的重载
  3. eclipse中 报出The type javax.servlet.http.HttpServlet cannot be resolved. It is indirect错误
  4. Delphi之DLL知识学习3---为什么要使用DLL
  5. tfs 分支
  6. 大白话系列之C#委托与事件讲解(二)
  7. Spark(一): 基本架构及原理
  8. CSS实现子级窗口高度随低级窗口高度变化
  9. DataPackage-数据库、表的区域设置和系统不一致导致处理失败
  10. JS获取随机的16位十六进制的数
  11. 【Luogu3041】视频游戏的连击(AC自动机,动态规划)
  12. [双硬盘GPT分区安装linux] ----安装
  13. 四十二、Linux 线程——线程同步之条件变量之线程状态转换
  14. Jackson序列化LocalDate与Springboot集成
  15. 2017.11.13 flex 布局相关问题
  16. linux中原子操作实现方式
  17. LeetCode--205--同构字符串
  18. 01 Maven 安装与配置
  19. hdu 1266 Reverse Number
  20. HtmlEntities

热门文章

  1. IE浏览器下载后台返回的Excel文件,报错400
  2. 【leetcode】339. Nested List Weight Sum
  3. [Selenium2+python2.7][Scrap]爬虫和selenium方式下拉滚动条获取简书作者目录并且生成Markdown格式目录
  4. &lt;转载&gt;c++中new一个二维数组
  5. docker在Linux环境下的安装
  6. Vue 一些用法
  7. mongodb的基本操作之数据创建索引
  8. selenium 模拟键盘事件 复制粘贴、右键、回车等
  9. MySQL进阶 9: 联合查询 - 查询语句1 union 查询语句2 union ...
  10. zhengrui集训笔记2