###工具类

import android.content.Context;import android.content.res.Resources;import android.graphics.drawable.Drawable;import com.example.administrator.oujiademo.R;import java.lang.reflect.Field;import java.util.ArrayList;import java.util.List;/** * 批量获取指定的drawable图片文件 */public class DrawableUtil {    private Context context;    public DrawableUtil(Context context) {        this.context = context;    }    /**     * 批量获取指定图片 imageResourceId     *     * @param imgName 图片名字的部分或全部     * @return 图片名字中包含有imgName的所有图片 imageResourceId     * 

* 使用示例: 如有5张图片: image_0 ,image_1 ,image_2 , image_3 ,image_4 ; * 调用方法 getImageResourId("image_") ,则会得到上面的5张图片的imageResourceId * 如果传入的imgName为全名则返回的就是一张图片 */ public List getImageResourId(String imgName) { List imgList = new ArrayList<>(); Resources resources = context.getResources(); Field[] fields = R.drawable.class.getDeclaredFields(); for (int i = 0; i < fields.length; i++) { fields[i].setAccessible(true); String name = fields[i].getName(); if (name.contains(imgName)) { int resId = resources.getIdentifier(name, "drawable", context.getPackageName()); imgList.add(resId); } } return imgList; } /** * 批量获取指定图片 drawable对象 * * @param imgName 图片名字的部分或全部 * @return 图片名字中包含有imgName的所有图片 drawable对象 *

* 使用示例: 如有5张图片: image_0 ,image_1 ,image_2 , image_3 ,image_4 ; * 调用方法 getImageResourId("image_") ,则会得到上面的5张图片的drawable * 如果传入的imgName为全名则返回的就是一张图片 */ public List getDrawable(String imgName) { List imgList = new ArrayList<>(); Resources resources = context.getResources(); Field[] fields = R.drawable.class.getDeclaredFields(); for (int i = 0; i < fields.length; i++) { fields[i].setAccessible(true); String name = fields[i].getName(); if (name.contains(imgName)) { int resId = resources.getIdentifier(name, "drawable", context.getPackageName()); Drawable drawable = resources.getDrawable(resId); imgList.add(drawable); } } return imgList; }}

更多相关文章

  1. Android(安卓)图标转换、点9格式图片在线生成的好网站
  2. Android给图片添加认证水印
  3. Android实现图片放大缩小
  4. android 实现图片加载效果
  5. Android(安卓)上传图片到C#接口 例子
  6. Android实现图片反转、翻转、旋转、放大和缩小
  7. Android(安卓)handler异步更新
  8. android关于动态壁纸live WallPaper
  9. android按分辨率压缩图片

随机推荐

  1. H3C交换机命名规则
  2. 网工必知:用于监控企业网络的10款最佳工具
  3. 如何制作毛玻璃效果?
  4. DOS***、DDOS***不懂?看完让你秒懂!
  5. 1分钟手把手教你破解华为交换机密码
  6. 《网工必备技术命令大全》
  7. Microsoft Edge浏览器的Universal XSS漏
  8. 投资ipfs要多少钱?ipfs靠谱吗?
  9. OSPF学习笔记整理(上)
  10. lftp链接异常情况如何进行排查