`

同一个位置显示不同的图片--->level-list

阅读更多

有时候,我们为了在一个image view中显示不同的图片,往往会使用: 

if (条件1)


image.setBackground(R.id.xxx1); 
}

else if (条件2)


image.setBackground(R.id.xxx2); 
} ... 

可以用另一个简便的方法实现相同的功能 

首先,在res/drawable下建立一个xml文件,内容如下 
<level-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:maxLevel="9" android:drawable="@drawable/battery_0" />
    <item android:maxLevel="39" android:drawable="@drawable/battery_1" />
    <item android:maxLevel="69" android:drawable="@drawable/battery_2" />
    <item android:maxLevel="89" android:drawable="@drawable/battery_3" />
    <item android:maxLevel="100" android:drawable="@drawable/battery_4" />
</level-list>


然后在layout中把image view的src设置成已创建好的xml文件 
程序中变换图片时,只需要使用 
imageview.getDrawable().setLevel(50)
... 
Android会根据level的值自动选择对应的图片。手机显示剩余电量就是用这个方法来显示不同图片的。

分享到:
评论

相关推荐

    Android图片级别Level的使用,旋转动画Demo

    在Android开发中,图片级别的Level(也称为Layer-List)是一种强大的资源管理方式,它可以用于创建具有不同状态的图像,比如按钮的按下和未按下状态,或者进度条的填充和未填充状态。在这个"Android图片级别Level的...

    Android:Drawable样式和尺寸单位源代码

    例如,创建一个按钮背景,当按钮被按下时显示不同的颜色: ```xml &lt;selector xmlns:android="http://schemas.android.com/apk/res/android"&gt; ...

    LevelListDrawable 使用及动画demo

    在Android开发中,`LevelListDrawable` 是一个非常实用的组件,它允许我们根据不同的条件显示不同的图片或者图形。在本篇文章中,我们将深入探讨`LevelListDrawable`的使用及其在实现动画效果上的应用。 首先,`...

    Android自定义ProgressBar

    在res/drawable中创建一个level_list.xml,包含不同进度状态的图片,通过动态调整图片的level值来实现动画效果。 ```xml &lt;level-list xmlns:android="http://schemas.android.com/apk/res/android"&gt; ...

    WorkingWithDrawables

    - **Level List Drawable**: 根据指定的级别显示不同的图片,常用于表示状态变化,如Wi-Fi信号强度。 - **State List Drawable**: 根据视图的状态(如按下、选中等)显示不同图片。 - **Layer List Drawable**: ...

    android gif模式和图片展现模式 图片展现神器-IT计算机-毕业设计.zip

    - **Level List Drawable**: 可以根据不同的状态(如图片加载失败、加载中、成功)显示不同的图片。 - **AnimationDrawable**: 用于创建帧动画,可以用来播放一系列的图片,形成动态效果。 2. Android GIF处理: ...

    自定义ProgressBar图片资源

    1. **LevelListDrawable**:这是一个基于级别列表的Drawable,你可以设置多个级别,每个级别对应不同的图片。在ProgressBar中,当进度改变时,LevelListDrawable会显示当前进度对应的图片。例如,你可以为“菊花”...

    PHPWord中文手册

    - **添加列表**:`$section-&gt;addList($items, $style);` - `$items`: 列表项内容 - `$style`: 列表样式 **列表样式** - **定义样式**:`$listStyle = array('type' =&gt; 'decimal', 'start' =&gt; 1, 'format' =&gt; '...

    一份超全超详细的 ADB 用法大全

    当只有一个设备或模拟器连接时,可以直接使用`adb &lt;command&gt;`。如果连接了多个设备或模拟器,则需要使用`-d`(USB设备)、`-e`(模拟器)或`-s &lt;serialNumber&gt;`来指定目标设备。 ##### 指定目标设备 如果有多台设备...

    android显示sdcard上的图片

    4. **显示图片**:解析出`Bitmap`对象后,就可以在界面上显示了。如果是在`ImageView`中显示,只需调用`setImageBitmap(Bitmap)`方法。此外,还可以使用`Glide`, `Picasso`等第三方库,它们提供了更强大的图片加载和...

    Android自定义RatingBar的背景图片

    比如,可以定义一个包含未选中状态和选中状态的两个状态集,然后用`&lt;level-list&gt;`标签组合它们。 - 示例代码: ```xml &lt;level-list xmlns:android="http://schemas.android.com/apk/res/android"&gt; ...

    HTML第二部分作业(含答案).docx编程资料

    - **B.&lt;Iframe&gt;**:iframe 标签用于在当前网页中嵌入另一个网页,是正确选项。 - **C.&lt;embed&gt;**:此标记通常用于嵌入多媒体文件,如Flash动画等。 - **D.&lt;object&gt;**:此标记也用于嵌入多媒体对象,如插件或图像,但...

    Android XML attribute

    **描述**:`&lt;bitmap&gt;`是一种常用的`Drawable`类型,用于显示一个位图图片。它支持位图的各种变换操作,如缩放、平铺等。 **属性**: - **`src`**:位图资源的ID。 - **`tileMode`**:平铺模式,可选值包括`CLAMP`、...

    CMS内容管理系统模版应用设计说明书.doc

    &lt;cms:list item=”article” name=”栏目名称” level=” 新闻显示层级” count=”显示条数” type=” 新闻列表的类型”&gt; ``` - `item`: article,表示显示文章列表。 - `type`: 文章列表类型,如`Recent`表示最新...

    layui文件上传带进度条显示.zip

    -- 这里展示上传的文件列表 --&gt; &lt;/table&gt; &lt;/div&gt; &lt;/div&gt; ``` ```javascript layui.use(['upload'], function(){ var upload = layui.upload; upload.render({ elem: '#uploadDemoBtn' //绑定元素 ,url: '...

    安卓开发-drawable(图片).zip.zip

    - **Level List Drawable**: 根据特定级别或条件显示不同的图像。 - **Animation Drawable**: 用于创建帧动画,例如GIF效果。 - **Layer List Drawable**: 将多个`Drawable`堆叠在一起,常用于制作复杂背景。 2....

    css开发字典

    - 显示模式之一,元素与其他元素在同一行显示。 - 可以通过`display: inline`属性实现。 **Hidden(隐藏)** - 使元素不可见。 - 可以通过`visibility: hidden`或`display: none`属性实现。 **Inner(内部)** - ...

    城市联盟右下角弹出式滚动新闻代码(可关闭可控大小).zip

    城市联盟右下角弹出式滚动新闻代码是一个常见的网页元素,尤其在地方资讯网站或社区论坛中广泛应用。这种设计能够实时向用户展示最新的新闻资讯,同时又不会过度干扰用户的浏览体验。通过CSS3技术,我们可以实现这样...

    android播放gif图片

    首先,将`animation-list`替换为`level-list`,然后在values目录下创建一个styles.xml文件,定义一个自定义样式: ```xml &lt;style name="AutoPlayGifTheme"&gt; &lt;item name="android:progressDrawable"&gt;@anim/anim_...

Global site tag (gtag.js) - Google Analytics