Android drawable 反射取资源id

通过反射来获取资源id
try{
    String resName = "ic_launcher";
    int resId = R.drawable.class.getDeclaredField(resName).getInt(R.drawable.class);
    imageView.setImageResource(resId);
} catch (IllegalArgumentException e) {
    e.printStackTrace();
} catch (IllegalAccessException e) {
    e.printStackTrace();
} catch (NoSuchFieldException e) {
    e.printStackTrace();
}

时间: 2024-10-20 06:17:52

Android drawable 反射取资源id的相关文章

Android通过反射获取资源ID

通过反射获取布局文件: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); int id = this.getResources().getIdentifier("layout_test", "layout", this.getPackageName()); LayoutInflater inflater = LayoutInflater.f

Android 获取有规律资源Id解决方案

在多个有规律的资源ID获取的时候,可以使用getIdentifier方法来获取,来获取. 用到场景:工具类打成.jar包的时候,有时候会需要引用到res中的资源,这时候不能将资源一起打包,只能通过反射机制动态的获取资源. public class Resources int getIdentifier (String name, String defType, String defPackage) Return a resource identifier for the given resour

android应用循环获取资源Id之引导页

目前市面上几乎所有的APP应用在第一次使用时都会有个引导页面,要么用引导用户操作,要么介绍产品优势,要么用来打广告等.引导页面一般是由3-6张图形界面组成,好的引导页面也不失为该app的亮丽风景!今天我也来说说引导页面的设计(当然有N种方法),我只是把我们项目中用到的方法代码贴出来,方便自己做个笔记. 我们实现的原理很简单,就是用一个ViewPager全屏展示一些图片,主要代码如下: 主页面布局: <?xml version="1.0" encoding="utf-8&

Android中通过反射获取资源Id

在将自己写的工具打成.jar包的时候,有时候会需要引用到res中的资源,这时候不能将资源一起打包,只能通过反射机制动态的获取资源. 特别用在自己定义一个工具将其打成.jar包时,特别注意资源的获取 1.封装成一个工具类  package com.cp.utils; import android.content.Context; public class CPResourceUtil { public static int getLayoutId(Context paramContext, Str

Android用getIdentifier()获取资源Id

主要由两种方法: 1.不把图片放在res/drawable下,而是存放在src某个package中(如:com.drawable.resource),这种情况下的调用方法为: String path = "com/drawable/resource/imageName.png"; InputStream is = getClassLoader().getResourceAsStream(path); Drawable.createFromStream(is, "src&quo

Android复习(二)应用资源 --&gt; 动画

没什么好总结的 复制自 https://developer.android.google.cn/guide/topics/resources/animation-resource 有需要的可以查看官方文档 动画资源 一个动画资源可以定义以下两种动画类型之一: 属性动画 通过使用 Animator 在设定的时间段内修改对象的属性值来创建动画. 视图动画 使用视图动画框架可以创建两种类型的动画: 补间动画:通过使用 Animation 对单张图片执行一系列转换来创建动画 帧动画:通过使用 Anima

Android实现将Drawable资源ID存储到Sdcard上

过程分为三步: 1. 将资源ID转化为Drawable 2. 将Drawable转化为Bitmap 3. 将Bitmap存储到Sdcard上 代码如下: public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.lay

Android中如何修改编译的资源ID值(默认值是0x7F...可以随意改成0x02~0x7E)

一.技术准备 今天我们来看一下如何修改Android中编译时的资源Id的值,在讲解这内容之前,我们需要先了解一下Android中的资源编译之后的结构和编译过程,这里就不多说了,具体可以查看这篇文章: http://blog.csdn.net/jiangwei0910410003/article/details/50628894 这篇文章中,介绍了如何解析Android中编译之后的resource.arsc文件,这里就介绍了Android中资源文件编译之后的类型和格式,其实Android中资源编译

Android根据字符串型的资源名获取对应资源id

有时候我们想动态的根据一个字符串资源名获得到对应的资源id,如根据不同的图片名称获得对应的图片,此时就应该考虑如何实现. 大家知道,在编译Android工程时,系统会自动生成一个静态资源类R,里面根据不同的资源类型有不同的静态内部类,如id,drawable等等,而每个内部类中存放的是对应的16进制的静态资源id属性,而这些属性的属性名就是资源名.常用的方法有两个: 方法一: 利用getResources().getIdentifier(String name,String defType,St