2013-02-15 73 views
0

我正在尋找一些關於如何從手機SD卡讀取圖像的信息,然後將它們放在GridView中,最後能夠點擊並選擇其中一個圖像並顯示它全尺寸開始。從SD卡到GridView的圖像

我正在尋找易於遵循和理解的教程或示例。我搜索了,但我發現很難找到這樣的教程。也許是因爲我不知道正確的關鍵詞。我遵循Android Developer網頁上的GridView示例,但我正在尋找延續。

到目前爲止,我已經瞭解到我需要使用MediaStore內容提供程序,查詢和遊標。

如果有人能給我更多的信息或方向,謝謝!

+1

我相信你的搜索會在這裏結束:[Android - 從圖庫中選擇多張照片](http://www.technotalkative.com/android-select-multiple-photos-from-gallery/) – 2013-02-15 10:21:45

+0

@Paresh Mayani I使用此代碼,你可以告訴我如何顯示其他活動中的選定的圖像。 – URAndroid 2013-06-25 08:03:19

回答

0

下面是一個簡單的示例,將圖像視圖添加到網格視圖中。

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    GridView gridView = (GridView) findViewById(R.id.gridview); 
    gridView.setAdapter(new ImageAdapter(this)); 

    gridView.setOnItemClickListener(new OnItemClickListener() 
    { 
     public void onItemClick(AdapterView<?> parent, 
     View v, int position, long id) 
     {     
      Toast.makeText(getBaseContext(), 
        "pic" + (position + 1) + " selected", 
        Toast.LENGTH_SHORT).show(); 
     } 
    });   
} 

public class ImageAdapter extends BaseAdapter 
{ 
    private Context context; 

    public ImageAdapter(Context c) 
    { 
     context = c; 
    } 

    //---returns the number of images--- 
    public int getCount() { 
     return imageIDs.length; 
    } 

    //---returns the ID of an item--- 
    public Object getItem(int position) { 
     return position; 
    } 

    public long getItemId(int position) { 
     return position; 
    } 

    //---returns an ImageView view--- 
    public View getView(int position, View convertView, ViewGroup parent) 
    { 
     ImageView imageView; 
     if (convertView == null) { 
      imageView = new ImageView(context); 
      imageView.setLayoutParams(new GridView.LayoutParams(185, 185)); 
      imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 
      imageView.setPadding(5, 5, 5, 5); 
     } else { 
      imageView = (ImageView) convertView; 
     } 
     imageView.setImageResource(...); 
     return imageView; 
    } 
}  

以下是如何將圖像文件放入圖像視圖。

解決方法1:

ImageView i = new ImageView(mContext); 

Bitmap bm = BitmapFactory.decodeFile(...); 
i.setImageBitmap(bm); 

i.setLayoutParams(new Gallery.LayoutParams(150, 100)); 
i.setScaleType(ImageView.ScaleType.FIT_XY); 
i.setBackgroundResource(...); 

溶液2:

ImageView im = new ImageView(mContext); 
im.setImageURI(Uri.withAppendedPath(MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI, ""+id)); 
0

Here是網格視圖初學者和良好的教程。在該教程中,圖像被放置在可繪製文件夾中。既然你想讀取存儲卡中的圖像,只需找到這些圖像的路徑,並將它們提供給gridView中的imageView。讓我知道你是否需要幫助。