从图库中选择多个图像

时间:2017-05-02 03:47:43

标签: android

我是Android的初学者。

我想从图库中选择多个图像,并将它们视为水平滚动视图。目前,我可以选择单个图像并进行查看。我已经引用了一个imageView的id进行查看。但谷歌搜索选择多个图像'让我意识到我需要使用GridView,recycleler view或listview。我还不清楚这个解决方案。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

启动活动以选择具有此意图的图像

Intent intent = new Intent();
intent.setType("image/*");

intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);

intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Picture"), UploadingHelper.REQUEST_CODE);

然后选择您想要的任意数量的图像,然后选择您的活动结果

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT && intent.getClipData() != null) {
            int numberOfImages = intent.getClipData().getItemCount();
for (int i = 0; i < numberOfImages; i++) {
try {
      ImageData imageData = new ImageData();
      imageData.uri = intent.getClipData().getItemAt(i).getUri();

      Bitmap bitmap = getBitmap(intent.getClipData().getItemAt(i).getUri());
     imageData.icon = Bitmap.createScaledBitmap(bitmap, getPixelsFromDP(widthOfImages), getPixelsFromDP(widthOfImages), false);

      images.add(imageData);
      } catch (Exception e) {
              Logger.log(e);
           }
      }

}

这是使用的Image Data类。

public class ImageData {
        public Bitmap icon;
        public Uri uri;
}

抱歉,我忘了添加方法

private int getPixelsFromDP(float dp) {
        return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp,  Resources.getSystem().getDisplayMetrics());
    }