Android展示画廊与专辑

时间:2014-07-23 13:54:43

标签: android image gallery

我想展示像这样的用户体验: album 让用户选择他想要的图像......然后我会用它。

我怎样才能做到这一点? 谢谢!

2 个答案:

答案 0 :(得分:0)

您可以使用意图在Android中打开默认图库,并让用户选择图像。

final static int RESULT_CHOOSE_IMAGE = 1;
Intent i = new Intent(Intent.ACTION_PICK,
                        android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);  
               startActivityForResult(i, RESULT_CHOOSE_IMAGE);

用户选择图像后,将调用onActivityResult(),您必须按如下方式覆盖,

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if (resultCode == RESULT_OK && requestCode == RESULT_CHOOSE_IMAGE && data != null)    
        {     
                Uri selectedImage = data.getData();
                String[] filePathColumn = { MediaStore.Images.Media.DATA };

                Cursor cursor = getContentResolver().query(selectedImage,
                        filePathColumn, null, null, null);
                cursor.moveToFirst();

                int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
                String bitmapPath = cursor.getString(columnIndex); // path to user selected image
                cursor.close();   
                // get bitmap from bitmap path
                Bitmap bitmap = BitmapFactory.decodeFile(bitmapPath , null); 
                }
         }

由于位图的大小可能很大,因此从文件解码时可能会导致OutOfMemoryException。有关有效显示位图的信息,请参阅此link

默认情况下,Android原生图库不支持多个图像选择,因此您必须为此目的使用自定义图库。有关教程,请参阅this链接。

答案 1 :(得分:-1)

将来,请尝试在您的问题中更加具体,以便我们能够以更好的方式为您提供帮助。

根据您提供的信息,我可以告诉您,您可以使用GridView来实现您想要的效果。

GridView Android Developers