Android多张图片选择框架
来源:互联网 发布:倚天现货指标公式源码 编辑:程序博客网 时间:2024/05/18 20:11
最近根据项目需求,使用了一个图片选择框架:PhotoPicker
废话不多说,直接先来看看效果图
接下来就看看具体的使用方法:
Gradle
compile 'com.foamtrace:photopicker:1.0'
ImageConfig图片属性配置可选属性, 用于过滤照片列表信息
ImageConfig config = new ImageConfig();config.minHeight = 400;config.minWidth = 400;config.mimeType = new String[]{"image/jpeg", "image/png"}; // 图片类型 image/gif ...config.minSize = 1 * 1024 * 1024; // 1Mb 图片大小
具体的使用:支持拍照,单张选择,多张选择
/***单选*/PhotoPickerIntent intent = new PhotoPickerIntent(MainActivity.this);intent.setSelectModel(SelectModel.SINGLE);intent.setShowCarema(true); // 是否显示拍照, 默认false// intent.setImageConfig(config);startActivityForResult(intent, REQUEST_CAMERA_CODE);/***多选*/PhotoPickerIntent intent = new PhotoPickerIntent(MainActivity.this);intent.setSelectModel(SelectModel.MULTI);intent.setShowCarema(true); // 是否显示拍照, 默认falseintent.setMaxTotal(9); // 最多选择照片数量,默认为9intent.setSelectedPaths(imagePaths); // 已选中的照片地址, 用于回显选中状态// intent.setImageConfig(config);startActivityForResult(intent, REQUEST_CAMERA_CODE);/***拍照*/private ImageCaptureManager captureManager;btnCarema.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { try { if(captureManager == null){ captureManager = new ImageCaptureManager(MainActivity.this); } Intent intent = captureManager.dispatchTakePictureIntent(); startActivityForResult(intent, ImageCaptureManager.REQUEST_TAKE_PHOTO); } catch (IOException e) { Toast.makeText(MainActivity.this, R.string.msg_no_camera, Toast.LENGTH_SHORT).show(); e.printStackTrace(); } }});/***预览*/PhotoPreviewIntent intent = new PhotoPreviewIntent(MainActivity.this);intent.setCurrentItem(position); // 当前选中照片的下标intent.setPhotoPaths(imagePaths); // 已选中的照片地址startActivityForResult(intent, REQUEST_PREVIEW_CODE);ActivityResult@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(resultCode == RESULT_OK) { switch (requestCode) { // 选择照片 case REQUEST_CAMERA_CODE: refreshAdpater(data.getStringArrayListExtra(PhotoPickerActivity.EXTRA_RESULT)); break; // 拍照 case ImageCaptureManager.REQUEST_TAKE_PHOTO: if(captureManager.getCurrentPhotoPath() != null) { captureManager.galleryAddPic(); // 照片地址 String imagePaht = captureManager.getCurrentPhotoPath(); // ... } break; // 预览 case REQUEST_PREVIEW_CODE: refreshAdpater(data.getStringArrayListExtra(PhotoPreviewActivity.EXTRA_RESULT)); break; } }}private void refreshAdpater(ArrayList<String> paths){ // 处理返回照片地址}配置信息:
style.xml
<!-- 设置ActionBar菜单字体 --><style name="ActionMenuTextStyle" parent="TextAppearance.AppCompat.Widget.ActionBar.Menu"> <item name="android:textSize">@dimen/action_text_size</item> <item name="android:textStyle">normal</item></style><style name="actionBarTheme" parent="ThemeOverlay.AppCompat.Dark.ActionBar"></style><style name="actionBarPopupTheme" parent="ThemeOverlay.AppCompat.Light"></style><style name="PhotoPickerTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> <item name="android:windowBackground">@color/photopicker_background</item> <item name="actionMenuTextAppearance">@style/ActionMenuTextStyle</item> <!--<item name="actionBarTheme">@style/actionBarTheme</item>--> <!--<item name="actionBarPopupTheme">@style/actionBarPopupTheme</item>--></style>
AndroidManifest.xml
<activity android:name="com.foamtrace.photopicker.PhotoPickerActivity" android:theme="@style/PhotoPickerTheme" android:configChanges="orientation|screenSize"/><activity android:name="com.foamtrace.photopicker.PhotoPreviewActivity" android:theme="@style/PhotoPickerTheme"/>
1 0
- Android多张图片选择框架
- 多张图片选择
- Android 多张图片展示,仿微信图片上传,可以选择多张图片
- 一分钟实现Android多张图片选择
- Android Retrofit 框架上传多张图片解决方案
- 从系统相册选择多张图片
- 从系统相册选择多张图片
- 从系统相册选择多张图片
- 从系统相册选择多张图片
- 从系统相册选择多张图片
- ionic选择多张图片上传
- 从相册中选择多张图片
- iOS 自定义多张图片选择+demo
- Android仿微信图片上传,可以选择多张图片,缩放预览,拍照上传等
- Android实现图片上传,可以选择多张图片,缩放预览,拍照上传等
- Android图片上传,可以选择多张图片,缩放预览,拍照上传等
- Android仿微信图片上传,可以选择多张图片,缩放预览,拍照上传等
- Android仿微信图片上传,可以选择多张图片,缩放预览,拍照上传等
- 完全跨域的单点登录
- oracle中的||替换成mysql的concat_ws('',
- iOS动画篇:核心动画
- 毕业论文排版几个常用小技巧
- Java NIO 系列教程
- Android多张图片选择框架
- Amazon AWS 安装 Python 2.7.13
- 关于使用DFS,BFS的一些思考总结
- Android LogUtils封装
- poj Is It A Tree?(并查集)(连通无环图)
- Android程序员学PHP开发(30)-ThinkPHP5.0(2)命名空间-PhpStorm
- Java基础---二维数组、冒泡排序法
- C#(VS10)调用HALCON12----实现数字识别
- Linux 安装lrzsz