gpt4 book ai didi

android - 如何在图库中显示来自 Assets 或内部存储的图像以供选择?

转载 作者:行者123 更新时间:2023-11-30 01:46:23 24 4
gpt4 key购买 nike

我目前正在寻找一种让用户从我的应用程序数据中选择图像的方法。图片目前位于 Assets 文件夹中,但如果方便的话,可以将其推送到内部存储空间。

我不希望所有文件都存储在公共(public)存储中。

我正在使用以下代码从用户库中进行选择,效果很好。我希望以某种方式针对当前情况使用类似的代码。

Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.putExtra(Intent.EXTRA_LOCAL_ONLY, true);
startActivityForResult(Intent.createChooser(intent, "Select Picture"), PICK_IMAGE_REQUEST);
  1. 有没有办法更改该代码以显示应用 Assets 文件夹或其内部存储中的图像,而不是用户的公共(public)图库文件?

最佳答案

我使用 GridView 自己创建了一个“图库” .

我使用那方面的代码创建了一个 ImageAdapter,并做了一些更改:

 public class ImageAdapter extends BaseAdapter {

private ArrayList <String> data = new ArrayList();

// I'm using a yamlReader to fill in the data, but it could instead just be hardcoded.
fillDataWithImageNames();

// create a new ImageView for each item referenced by the Adapter
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null) {
// if it's not recycled, initialize some attributes
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(8, 8, 8, 8);
} else {
imageView = (ImageView) convertView;
}

// The images are in /app/assets/images/thumbnails/example.jpeg
imageView.setImageDrawable(loadThumb("images/thumbnails/" + data.get(position) + ".jpeg"));
return imageView;
}

// references to our images
private Drawable loadThumb(String path) {
try {
// get input stream
InputStream ims = mContext.getAssets().open(path);
// load image as Drawable
Drawable d = Drawable.createFromStream(ims, null);
// set image to ImageView
return d;
}
catch(IOException ex) {
return null;
}
}

关于android - 如何在图库中显示来自 Assets 或内部存储的图像以供选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33654352/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com