android 已知本地图片的路径,如何将他设为imageview的背景?

android 已知本地图片的路径,如何将他设为imageview的背景?,第1张

android已知本地图片路径,将他设为imageview的背景,文件夹的路径:

String img_path = "image will be with image type"   

Bitmap bmp= BitmapFactory.decodeFile(img_path)

ImageView iv= (ImageView)findViewById(R.id.img)

iv.setImageBitmap(bmp)。

添加文件的权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

这个工程相对复杂一点,一点一点来解释。

注意,这里的gridview一定要先设置好id以及列数。

在Activity中初始化,这个就简单了。

首先,我们写一个获取本地文件的帮助类。

此类中包含两个方法,第一个方法需要传入一个String类型的文件夹路径,会返回一个给定路径中图片的全名称(包括扩展名)。

第二个方法是用于过滤文件夹下的图片文件。

然后,在Activity中调用上面的方法,传入一个需要遍历的文件夹路径。

将返回的图片全名和给定的路径拼接成资源路径,放进一个String类型的数组里面。

首先,我们新建一个javaBean类,用于结构化我们获取的图片数据。

一个title,一个imageId。

然后,到了最关键的一步,重写适配器类。

构造方法里需要传入三个参数,titles数组,imageId数组,以及当前上下文。

当然,gridView的item布局文件我们不能忘记。

之后就是继承BaseAdapter,重写适配器了。

1. 图片放在sdcard中, Bitmap imageBitmap = BitmapFactory.decodeFile(path) (path 是图片的路径,跟目录是/sdcard)2. 图片在项目的res文件夹下面 //得到application对象 ApplicationInfo appInfo = getApplicationInfo()//得到该图片的id(name 是该图片的名字,"drawable" 是该图片存放的目录,appInfo.packageName是应用程序的包) int resID = getResources().getIdentifier(name, "drawable", appInfo.packageName)//代码如下 public Bitmap getRes(String name) {ApplicationInfo appInfo = getApplicationInfo()int resID = getResources().getIdentifier(name, "drawable", appInfo.packageName)return BitmapFactory.decodeResource(getResources(), resID)}3. 图片放在src目录下 String path = "com/xiangmu/test.png"//图片存放的路径 InputStream is = getClassLoader().getResourceAsStream(path)//得到图片流4.android中有个Assets目录,这里可以存放只读文件资源获取的方式为 InputStream is = getResources().getAssets().open(name);


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

原文地址: http://outofmemory.cn/bake/11941431.html

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

发表评论

登录后才能评论

评论列表(0条)

保存