android drawable-xml

本文介绍如何利用Android中的level-list资源实现动态图标效果,如电池电量显示等。通过定义不同级别的图片资源,并结合Java代码控制级别,可以轻松实现图标线性变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

layer-list 用来多图层堆叠展示的 多用于展示一种效果
View 设置边框

clip

level-list 用来表示一组线性变化的图标显示(例如电池电量状态表示)
在xml中的drawable中新建一个名为my-level的level-list 类型的文件

<?xml version="1.0" encoding="utf-8"?>
<level-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:maxLevel="0"  android:drawable="@drawable/machine_gps_signal_no" />                        //当value最大为0时显示该drawable所展示的图片
    <item android:minLevel="1" android:maxLevel="20"  
android:drawable="@drawable/machine_gps_signal_one" />// 当value值在1-20之间是显示该drawable下的图标
    <item android:minLevel="21" android:maxLevel="40"  android:drawable="@drawable/machine_gps_signal_two" />
    <item android:minLevel="41" android:maxLevel="60"  android:drawable="@drawable/machine_gps_signal_three" />
    <item android:minLevel="61" android:maxLevel="80"  android:drawable="@drawable/machine_gps_signal_four" />
    <item android:minLevel="81" android:maxLevel="100"  android:drawable="@drawable/machine_gps_signal_five" />

</level-list>

/**
* 在xml中定义一个ImageView
*/
    <ImageView
        android:id="@+id/gps_imgView"
        android:layout_width="28dp"
        android:layout_height="11dp"
        android:layout_gravity="center_vertical"
        android:layout_marginLeft="21dp"
        android:src="@drawable/my-level" />

/**
* 在java代码中找到该ImageView并获得他的LevelListDrawable就可以根据设置值来更换他的显示图片
*/

//1.使用imageView.setImageLevel(int value)
//2.先得到 LevelListDrawable drawable = imageView.getDrawable 
//3.通过设置drawabl.setLevel(int value)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值