我要通过某图片在R文件中的id获取此图片

我要通过某图片在R文件中的id获取此图片,第1张

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和名字的方法、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9796057.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存