【开源】MultiImageSelector
MultiImageSelector
- https://github.com/lovetuzitong/MultiImageSelector
介绍:
仿微信实现多图选择。支持单选和多选两种模式运行效果:
![]()
使用说明:
快速开始
-
第0步 把模块
multi-image-selector作为你的项目依赖添加到工程中. -
第1步 在你的
AndroidManifest.xml文件中添加权限android.permission.READ_EXTERNAL_STORAGE. 别忘了同时在AndroidManifest.xml中声明MultiImageSelectorActivity这个Activity. -
第2步 代码中调用,例如:
|
1
2
3
4
5
6
7
8
9
10
11
12
|
Intent intent = new Intent(mContext, MultiImageSelectorActivity.class);// 是否显示调用相机拍照intent.putExtra(MultiImageSelectorActivity.EXTRA_SHOW_CAMERA, true);// 最大图片选择数量intent.putExtra(MultiImageSelectorActivity.EXTRA_SELECT_COUNT, 9);// 设置模式 (支持 单选/MultiImageSelectorActivity.MODE_SINGLE 或者 多选/MultiImageSelectorActivity.MODE_MULTI)intent.putExtra(MultiImageSelectorActivity.EXTRA_SELECT_MODE, MultiImageSelectorActivity.MODE_MULTI);startActivityForResult(intent, REQUEST_IMAGE); |
第3步 在你的 onActivityResult 方法中接受结果. 例如:
|
1
2
3
4
5
6
7
8
9
10
11
|
@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(requestCode == REQUEST_IMAGE){ if(resultCode == RESULT_OK){ // 获取返回的图片列表 List<String> path = data.getStringArrayListExtra(MultiImageSelectorActivity.EXTRA_RESULT); // 处理你自己的逻辑 .... } }} |
-
第4步 没第4步了,就这样就OK啦~ :)
自定义显示
-
自定义Activity
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
class CustomerActivity extends Activity implements MultiImageSelectorFragment.Callback{ @Override protected void onCreate(Bundle savedInstanceState) { // 你自己的逻辑... Bundle bundle = new Bundle(); bundle.putInt(MultiImageSelectorFragment.EXTRA_SELECT_COUNT, mDefaultCount); bundle.putInt(MultiImageSelectorFragment.EXTRA_SELECT_MODE, mode); <bundle class="putBo"></bundle>olean(MultiImageSelectorFragment.EXTRA_SHOW_CAMERA, isShow); // 添加主Fragment到Activity getSupportFragmentManager().beginTransaction() .add(R.id.image_grid, Fragment.instantiate(this, MultiImageSelectorFragment.class.getName(), bundle)) .commit(); } @Override public void onSingleImageSelected(String path) { // 当选择模式设定为 单选/MODE_SINGLE, 这个方法就会接受到Fragment返回的数据 } @Override public void onImageSelected(String path) { // 一个图片被选择是触发,这里可以自定义的自己的Actionbar行为 } @Override public void onImageUnselected(String path) { // 一个图片被反选是触发,这里可以自定义的自己的Actionbar行为 } @Override public void onCameraShot(File imageFile) { // 当设置了使用摄像头,用户拍照后会返回照片文件 }} |
具体可以参考MultiImageSelectorActivity.java的实现
posted on 2015-05-07 09:34 wasdchenhao 阅读(130) 评论(0) 收藏 举报

浙公网安备 33010602011771号