我想展示像这样的用户体验: 让用户选择他想要的图像......然后我会用它。
我怎样才能做到这一点? 谢谢!
答案 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来实现您想要的效果。