android批量获取res文件中的drawable图片
###工具类
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; }}
更多相关文章
- Android(安卓)图标转换、点9格式图片在线生成的好网站
- Android给图片添加认证水印
- Android实现图片放大缩小
- android 实现图片加载效果
- Android(安卓)上传图片到C#接口 例子
- Android实现图片反转、翻转、旋转、放大和缩小
- Android(安卓)handler异步更新
- android关于动态壁纸live WallPaper
- android按分辨率压缩图片