簡體   English   中英

從圖庫中選擇多個圖像

[英]Multiple image select from gallery

我是 Android 的初學者。

我想從圖庫中選擇多個圖像並將它們查看到水平滾動視圖。 目前我可以選擇單個圖像並查看它。 為了查看目的,我引用了單個 imageView 的 id。 但是谷歌搜索“選擇多個圖像”讓我意識到我需要使用 GridView、recycler view 或 listview。 我仍然不清楚解決方案。 有什么幫助嗎?

開始活動以選擇具有此意圖的圖像

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);
           }
      }

}

這是使用的圖像數據類。

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());
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM