开源分享 一
由于项目需要,后期会在项目中加入给图片贴图或者打标签的功能,无意在网上发现一个类似的开源项目,便在此分享,与大家分享学习。除了该项目外,也同时分享一个仿微信实现多图选择的例子,下面做简单介绍。
一、StickerCamera
介绍:
一款集成了相机,图片裁剪,给图片贴图,打标签的APP。所需要的编译是 java 8。
运行效果展示:
使用说明:
- 实现相机功能
- 实现对图片进行裁剪功能
- 图片的滤镜功能
- 能为图片添加贴纸(贴纸可移动,放大,旋转)
- 能为图片添加标签(同样可以移动)
- 本地保存制作好的图片,并展示
- 较多的自定义控件,不错的项目架构
二、仿微信多图选择
介绍:
仿微信实现多图选择。支持 单选 和 多选 两种模式。
运行效果展示:
使用说明:
一、 把模块 multi-image-selector 作为你的项目依赖添加到工程中.
二、 在你的 AndroidManifest.xml 文件中添加权限 android.permission.READ_EXTERNAL_STORAGE. 别忘了同时在 AndroidManifest.xml 中声明 MultiImageSelectorActivity 这个Activity.
三、 代码中调用
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);
四、 在你的 onActivityResult 方法中接受结果
@Override protected 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); // 处理你自己的逻辑 .... } } }
显示自定义Activity
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 的实现。
好了,不多说了。
下载地址:http://download.csdn.net/download/gao_chun/9076993
版权声明:本文为博主原创文章,未经博主允许不得转载。