感谢:http://blog.sina.com.cn/s/blog_6111ce890100psq9.html

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

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="0" android:drawable="@drawable/battery_0" />

    <item android:maxLevel="1" android:drawable="@drawable/battery_1" />

    <item android:maxLevel="2" android:drawable="@drawable/battery_2" />

    <item android:maxLevel="3" android:drawable="@drawable/battery_3" />

    <item android:maxLevel="4" android:drawable="@drawable/battery_4" />

</level-list>







然后在layout中把image view的src设置成已创建好的xml文件 

程序中变换图片时,只需要使用 

imageview.getDrawable().setImageLevel(1);

... 

Android会根据level的值自动选择对应的图片。手机显示剩余电量就是用这个方法来显示不同图片的。

最新文章

  1. sql server 删除表及表的相关视图、存储过程、方法
  2. 开发错误记录3:问题 Error:failed to find Build Tools revision 23.0.2
  3. CF 204B Little Elephant and Cards
  4. laravel框架session使用教程
  5. javascript优化--04高质量编码
  6. 简单计算器--hdu1237(栈的运用)
  7. Android SDK Manager无法更新的解决办法
  8. 关于键盘冲突那点事(3键冲突/7键冲突/PS2/USB的各种原理)
  9. Thread-safety with regular expressions in Java
  10. hdu_5193_Go to movies Ⅱ(带插入删除的逆序对,块状链表)
  11. 使用Recovery Services备份文件及文件夹
  12. jq实现全选或者全不选
  13. 基于新浪SAE平台的微信开发
  14. nginx编译文件配置(原)
  15. sql语句的优先级
  16. 【LOJ#6374】网格(二项式反演,容斥)
  17. Spring静态注入的三种方式
  18. python3用BeautifulSoup用字典的方法抓取a标签内的数据
  19. what&#39;s the python之面向对象
  20. Jmeter-连接 MySQL数据库

热门文章

  1. Boost学习资源
  2. spring过滤器
  3. IE8及以下浏览器伪数组slice方法兼容处理
  4. 使用Synchronized块同步方法
  5. win7如何不用点击用户名直接自动登录桌面
  6. Centos 7.4下 部署openstack Queens 计算节点qemu高版本问题
  7. Bzoj2534:后缀自动机 主席树启发式合并
  8. hdu CA Loves GCD(dp)
  9. 群晖NAS的Docker容器使用中国镜像加速
  10. Programming Internal Flash Over the Serial Wire Debug &lt;SWD&gt; Interface -- EFM32