LevelListDrawable
2024-10-06 14:42:20
用来管理一组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);
}
}
最新文章
- tcp三次握手和四次握手
- 详解java方法的重载
- eclipse中 报出The type javax.servlet.http.HttpServlet cannot be resolved. It is indirect错误
- Delphi之DLL知识学习3---为什么要使用DLL
- tfs 分支
- 大白话系列之C#委托与事件讲解(二)
- Spark(一): 基本架构及原理
- CSS实现子级窗口高度随低级窗口高度变化
- DataPackage-数据库、表的区域设置和系统不一致导致处理失败
- JS获取随机的16位十六进制的数
- 【Luogu3041】视频游戏的连击(AC自动机,动态规划)
- [双硬盘GPT分区安装linux] ----安装
- 四十二、Linux 线程——线程同步之条件变量之线程状态转换
- Jackson序列化LocalDate与Springboot集成
- 2017.11.13 flex 布局相关问题
- linux中原子操作实现方式
- LeetCode--205--同构字符串
- 01 Maven 安装与配置
- hdu 1266 Reverse Number
- HtmlEntities
热门文章
- IE浏览器下载后台返回的Excel文件,报错400
- 【leetcode】339. Nested List Weight Sum
- [Selenium2+python2.7][Scrap]爬虫和selenium方式下拉滚动条获取简书作者目录并且生成Markdown格式目录
- <;转载>;c++中new一个二维数组
- docker在Linux环境下的安装
- Vue 一些用法
- mongodb的基本操作之数据创建索引
- selenium 模拟键盘事件 复制粘贴、右键、回车等
- MySQL进阶 9: 联合查询 - 查询语句1 union 查询语句2 union ...
- zhengrui集训笔记2