设置意图返回的最大项目数
Setting the maximum number of items to be returned by an intent
我有一个 intent,可用于允许用户 select 图片应用程序(如厨房)(或用户设备中存在的任何其他图片)中的一些图片。
我希望用户 select 只有 10 张图片 但我不知道如何根据意图设置此最大值。 我试过看看我是否可以使用 ClipData 但 clipdata 没有设置最大项目数的方法。
ClipboardManager manager = getSystemService(Context.CLIPBOARD_SERVICE)
ClipData clipdata = manager.getPrimaryClip();// in short whether i get
or i create a clipdata, there are no methods to set maximum number of
items to be held into that clip
这是我的意图。
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, SELECT_PHOTO);
如何限制用户 select 只有 10 张照片?
使用ClipData
检查退货数量
ClipData mClipData = data.getClipData();
// here you can check how many images user has selected.
if(mClipData.getItemCount() >= 10) {
// do needful here
Log.e("APP_TAG", "Greater than THRESHOLD.");
// show some error
return;
}
请参阅 this 问题了解更多详情。
它允许您设置可以共享的最大图像数量。您还可以通过设置 actionBar 和 statusBar 的颜色来自定义 PickerActivity。也可以在达到指定限制时设置您的自定义消息。
希望对您有所帮助。
我找到了一个很好的图像和视频 selection 库,叫做 Matisse。您可以调用指定您希望用户查看的图像或视频的总数 select。无需离开您的应用程序即可进行选择,因为名为 MatisseActivity
的 activity 会显示来自用户 phone 的所有图像,用户将 select 他想要的图像,直到达到指定的最大数量.
https://github.com/zhihu/Matisse
Matisse.from(MainActivity.this)
.choose(MimeType.allOf())
.countable(true)
.maxSelectable(10)
.thumbnailScale(0.85f)
.imageEngine(new GlideEngine())
.forResult(REQUEST_CODE_CHOOSE);
我有一个 intent,可用于允许用户 select 图片应用程序(如厨房)(或用户设备中存在的任何其他图片)中的一些图片。
我希望用户 select 只有 10 张图片 但我不知道如何根据意图设置此最大值。 我试过看看我是否可以使用 ClipData 但 clipdata 没有设置最大项目数的方法。
ClipboardManager manager = getSystemService(Context.CLIPBOARD_SERVICE)
ClipData clipdata = manager.getPrimaryClip();// in short whether i get
or i create a clipdata, there are no methods to set maximum number of
items to be held into that clip
这是我的意图。
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, SELECT_PHOTO);
如何限制用户 select 只有 10 张照片?
使用ClipData
检查退货数量
ClipData mClipData = data.getClipData();
// here you can check how many images user has selected.
if(mClipData.getItemCount() >= 10) {
// do needful here
Log.e("APP_TAG", "Greater than THRESHOLD.");
// show some error
return;
}
请参阅 this 问题了解更多详情。
它允许您设置可以共享的最大图像数量。您还可以通过设置 actionBar 和 statusBar 的颜色来自定义 PickerActivity。也可以在达到指定限制时设置您的自定义消息。
希望对您有所帮助。
我找到了一个很好的图像和视频 selection 库,叫做 Matisse。您可以调用指定您希望用户查看的图像或视频的总数 select。无需离开您的应用程序即可进行选择,因为名为 MatisseActivity
的 activity 会显示来自用户 phone 的所有图像,用户将 select 他想要的图像,直到达到指定的最大数量.
https://github.com/zhihu/Matisse
Matisse.from(MainActivity.this)
.choose(MimeType.allOf())
.countable(true)
.maxSelectable(10)
.thumbnailScale(0.85f)
.imageEngine(new GlideEngine())
.forResult(REQUEST_CODE_CHOOSE);