
1,已将保存到drawable目录下
//通过id获得Drawable
Resource res=getResource();
Drawable drawable=resgetDrawable(id);//id为Rdrawable名称
//通过id获得Bitmap
Resource res=getResource();
Bitmap bitmap=BitmapFactorydecodeResource(res, id);
//若只知道的名称,可以通过的名称获得的id
//name:的名称 defType:的类型(png,jpeg),defPackage:工程的包名
int id =int id =resgetIdentifier(name, defType, defPackage);
//获得id之后可以根据你的需要来获得Bitmap或Drawable
你好,看样子你可能是刚接触Android不久,我先就你想实现的问题给你解答。你问题的本质是要在ImageView上展示,你需要理解以下几点:
1、ImageView这个组件可以直接设置Bitmap和Drawable来展示,方法分别是setImageBitmap()和setImageDrawable()
2、根据(1)我们需要使用Drawable,Drawable可以由drawable目录里的资源生成,在这之前你需要理解一个概念,我们向drawable目录放入一张是需要命名的,比如名为sunpng,系统会帮助我们自动生成这个的id,如果想在java代码中引用这个就需要使用这个id,使用方式:Rdrawablesun。
3、使用系统方法将转换为Drawable。
Drawable drawable = getResources()getDrawable(Rdrawablesun);
imageViewsetImageDrawable(drawable);
这样就可以将显示到ImageView上。
这里面使用的getResources()方法获取的Resources对象可以帮助我们获取很多资源文件,这个方法可以直接在Activity里使用,在其他地方需要使用Context对象调用。此外,Resources的getDrawable方法已被标记为过时,系统推荐使用两个参数的方法。getDrawable(int id, Theme theme),我们不需要设置Theme可以给null。
4、题外话
1)现在资源已经很少放在drawable目录里,而是放在mipmap目录,引用方式Rmipmapxxx
2)你的问题涉及到id和名字,名字是你把放到目录时自己起的,命名要符合规范。而id则是由系统自动帮你生成,且是固定格式:Rdrawablexxx
以上就是关于我要通过某图片在R文件中的id获取此图片全部的内容,包括:我要通过某图片在R文件中的id获取此图片、android获取drawable里面的图片的id和名字的方法、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)