有时候,我们为了在一个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(也称为Layer-List)是一种强大的资源管理方式,它可以用于创建具有不同状态的图像,比如按钮的按下和未按下状态,或者进度条的填充和未填充状态。在这个"Android图片级别Level的...
例如,创建一个按钮背景,当按钮被按下时显示不同的颜色: ```xml <selector xmlns:android="http://schemas.android.com/apk/res/android"> ...
在Android开发中,`LevelListDrawable` 是一个非常实用的组件,它允许我们根据不同的条件显示不同的图片或者图形。在本篇文章中,我们将深入探讨`LevelListDrawable`的使用及其在实现动画效果上的应用。 首先,`...
在res/drawable中创建一个level_list.xml,包含不同进度状态的图片,通过动态调整图片的level值来实现动画效果。 ```xml <level-list xmlns:android="http://schemas.android.com/apk/res/android"> ...
- **Level List Drawable**: 根据指定的级别显示不同的图片,常用于表示状态变化,如Wi-Fi信号强度。 - **State List Drawable**: 根据视图的状态(如按下、选中等)显示不同图片。 - **Layer List Drawable**: ...
- **Level List Drawable**: 可以根据不同的状态(如图片加载失败、加载中、成功)显示不同的图片。 - **AnimationDrawable**: 用于创建帧动画,可以用来播放一系列的图片,形成动态效果。 2. Android GIF处理: ...
1. **LevelListDrawable**:这是一个基于级别列表的Drawable,你可以设置多个级别,每个级别对应不同的图片。在ProgressBar中,当进度改变时,LevelListDrawable会显示当前进度对应的图片。例如,你可以为“菊花”...
- **添加列表**:`$section->addList($items, $style);` - `$items`: 列表项内容 - `$style`: 列表样式 **列表样式** - **定义样式**:`$listStyle = array('type' => 'decimal', 'start' => 1, 'format' => '...
当只有一个设备或模拟器连接时,可以直接使用`adb <command>`。如果连接了多个设备或模拟器,则需要使用`-d`(USB设备)、`-e`(模拟器)或`-s <serialNumber>`来指定目标设备。 ##### 指定目标设备 如果有多台设备...
4. **显示图片**:解析出`Bitmap`对象后,就可以在界面上显示了。如果是在`ImageView`中显示,只需调用`setImageBitmap(Bitmap)`方法。此外,还可以使用`Glide`, `Picasso`等第三方库,它们提供了更强大的图片加载和...
比如,可以定义一个包含未选中状态和选中状态的两个状态集,然后用`<level-list>`标签组合它们。 - 示例代码: ```xml <level-list xmlns:android="http://schemas.android.com/apk/res/android"> ...
- **B.<Iframe>**:iframe 标签用于在当前网页中嵌入另一个网页,是正确选项。 - **C.<embed>**:此标记通常用于嵌入多媒体文件,如Flash动画等。 - **D.<object>**:此标记也用于嵌入多媒体对象,如插件或图像,但...
**描述**:`<bitmap>`是一种常用的`Drawable`类型,用于显示一个位图图片。它支持位图的各种变换操作,如缩放、平铺等。 **属性**: - **`src`**:位图资源的ID。 - **`tileMode`**:平铺模式,可选值包括`CLAMP`、...
<cms:list item=”article” name=”栏目名称” level=” 新闻显示层级” count=”显示条数” type=” 新闻列表的类型”> ``` - `item`: article,表示显示文章列表。 - `type`: 文章列表类型,如`Recent`表示最新...
-- 这里展示上传的文件列表 --> </table> </div> </div> ``` ```javascript layui.use(['upload'], function(){ var upload = layui.upload; upload.render({ elem: '#uploadDemoBtn' //绑定元素 ,url: '...
- **Level List Drawable**: 根据特定级别或条件显示不同的图像。 - **Animation Drawable**: 用于创建帧动画,例如GIF效果。 - **Layer List Drawable**: 将多个`Drawable`堆叠在一起,常用于制作复杂背景。 2....
- 显示模式之一,元素与其他元素在同一行显示。 - 可以通过`display: inline`属性实现。 **Hidden(隐藏)** - 使元素不可见。 - 可以通过`visibility: hidden`或`display: none`属性实现。 **Inner(内部)** - ...
城市联盟右下角弹出式滚动新闻代码是一个常见的网页元素,尤其在地方资讯网站或社区论坛中广泛应用。这种设计能够实时向用户展示最新的新闻资讯,同时又不会过度干扰用户的浏览体验。通过CSS3技术,我们可以实现这样...
首先,将`animation-list`替换为`level-list`,然后在values目录下创建一个styles.xml文件,定义一个自定义样式: ```xml <style name="AutoPlayGifTheme"> <item name="android:progressDrawable">@anim/anim_...