android在xml文件中定义drawable数组、id数组等

简介:

假如我们需要在代码中为一组view设置相对应的一组图片资源时(如为listview/gridview的所有item设置一组对应的图片时),我们就可以在xml中定义一组代表图片的drawable数组,然后用代码进行读取。

开始我是这样做的:

[java]  view plain copy
  1. <integer-array name="actions_images">  
  2.     <item>@drawable/pencil1</item>  
  3.     <item>@drawable/pencil2</item>  
  4.     <item>@drawable/pencil3</item>  
  5.     <item>@drawable/pencil4</item>  
  6.     <item>@drawable/pencil5</item>  
  7.     <item>@drawable/pencil6</item>  
  8. </integer-array>  

然后在代码中 试图 调用getResources().getIntArray来获取图片的id,可发现根本行不通。最终查stackoverflow给出了解决办法:

1、在xml中要这样定义:

[java]  view plain copy
  1. <string-array name="actions_images">  
  2.     <item>@drawable/pencil1</item>  
  3.     <item>@drawable/pencil2</item>  
  4.     <item>@drawable/pencil3</item>  
  5.     <item>@drawable/pencil4</item>  
  6.     <item>@drawable/pencil5</item>  
  7.     <item>@drawable/pencil6</item>  
  8. </string-array>  

2、在java代码中这样来获取:

[java]  view plain copy
  1. TypedArray ar = context.getResources().obtainTypedArray(R.array.actions_images);  
  2. int len = ar.length();       
  3. int[] resIds = new int[len];       
  4. for (int i = 0; i < len; i++)       
  5.     resIds[i] = ar.getResourceId(i, 0);  
  6.   
  7. ar.recycle();    

图片的id就保存在resIds中去了,然后我们就可以引用它(比如用img.setImageResourse(resIds[0]))来设置图片了。


同理,要想在xml中定义id数组,做法一样。



参考:http://stackoverflow.com/questions/6945678/android-storing-r-drawable-ids-in-xml-array

相关文章
|
3月前
|
移动开发 安全 Java
Android历史版本与APK文件结构
通过以上内容,您可以全面了解Android的历史版本及其主要特性,同时掌握APK文件的结构和各部分的作用。这些知识对于理解Android应用的开发和发布过程非常重要,也有助于在实际开发中进行高效的应用管理和优化。希望这些内容对您的学习和工作有所帮助。
362 83
|
7月前
|
XML 前端开发 Java
讲解SSM的xml文件
本文详细介绍了SSM框架中的xml配置文件,包括springMVC.xml和applicationContext.xml,涉及组件扫描、数据源配置、事务管理、MyBatis集成以及Spring MVC的视图解析器配置。
166 1
|
7月前
|
ARouter Android开发
Android不同module布局文件重名被覆盖
Android不同module布局文件重名被覆盖
|
6月前
|
XML 前端开发 Android开发
Android:UI:Drawable:View/ImageView与Drawable
通过本文的介绍,我们详细探讨了Android中Drawable、View和ImageView的使用方法及其相互关系。Drawable作为图像和图形的抽象表示,提供了丰富的子类和自定义能力,使得开发者能够灵活地实现各种UI效果。View和ImageView则通过使用Drawable实现了各种图像和图形的显示需求。希望本文能为您在Android开发中使用Drawable提供有价值的参考和指导。
121 2
|
6月前
|
XML Android开发 数据格式
Eclipse 创建 XML 文件
Eclipse 创建 XML 文件
101 2
|
6月前
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
568 8
|
7月前
|
XML JavaScript Java
java与XML文件的读写
java与XML文件的读写
84 3
|
7月前
|
ARouter Android开发
Android不同module布局文件重名被覆盖
Android不同module布局文件重名被覆盖
404 0
|
7月前
|
XML 存储 缓存
C#使用XML文件的详解及示例
C#使用XML文件的详解及示例
287 0
|
7月前
|
XML 存储 Web App开发
查看 XML 文件
查看 XML 文件