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);欢迎分享,转载请注明来源:内存溢出
评论列表(0条)