如何调用系统gallery打开指定文件夹中的图片
如何调用系统gallery打开指定文件夹中的图片???
[解决办法]
1.
File file=new File("/sdcard/IMG/1.jpg"); Intent it = new Intent(Intent.ACTION_VIEW); Uri mUri = Uri.parse("file://"+file.getPath()); it.setDataAndType(mUri, "image/*"); startActivity(it);
[解决办法]
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <Gallery android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello" android:id="@+id/gallery_id" android:layout_x="43px" android:layout_y="142px" /></LinearLayout>
[解决办法]
package com.yezijp.gallerytest;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.Gallery;import android.widget.ImageView;public class GalleryTestActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Gallery gallery = (Gallery) this.findViewById(R.id.gallery_id); gallery.setAdapter(new GalleryAdapter(this)); } public class GalleryAdapter extends BaseAdapter { private Context context; private int[] myImages = { R.drawable.a1, R.drawable.a2, R.drawable.a3, R.drawable.a4}; public GalleryAdapter (Context c) { this.context = c; } @Override public int getCount() { return myImages.length; } @Override public Object getItem(int position) { return position; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ImageView imageView = new ImageView(this.context); imageView.setImageResource(this.myImages[position]); imageView.setScaleType(ImageView.ScaleType.FIT_XY); imageView.setLayoutParams(new Gallery.LayoutParams(120, 120)); return imageView; } }}
[解决办法]
主要就是在布局文件里加上Gallery控件
之后关联控件并设置适配器
Gallery gallery = (Gallery) this.findViewById(R.id.gallery_id);
gallery.setAdapter(new GalleryAdapter(this));
之后在自定义适配器GalleryAdapter中设置图片资源的数组
imageView.setImageResource(this.myImages[position]);
[解决办法]
BitmapFactory.Options options=new Options();
options.inSampleSize=0;
Bitmap bitmap=BitmapFactory.decodeFile("图片文件路径",options);
ImageView imgView=new ImageView(context);
imgView.setScaleType(ImageView.ScaleType.FIT_XY);
//imgView.setLayoutParams(new Gallery.LayoutParams(100, Gallery.LayoutParams.FILL_PARENT));
imgView.setImageBitmap(bitmap);