开源分享 一(StickerCamera + 仿微信多图选择)

开源分享 一


由于项目需要,后期会在项目中加入给图片贴图或者打标签的功能,无意在网上发现一个类似的开源项目,便在此分享,与大家分享学习。除了该项目外,也同时分享一个仿微信实现多图选择的例子,下面做简单介绍。


一、StickerCamera 

介绍:

一款集成了相机,图片裁剪,给图片贴图,打标签的APP。所需要的编译是 java 8。

运行效果展示:

开源分享 一(StickerCamera + 仿微信多图选择)



开源分享 一(StickerCamera + 仿微信多图选择)

使用说明:
  • 实现相机功能
  • 实现对图片进行裁剪功能

  • 图片的滤镜功能

  • 能为图片添加贴纸(贴纸可移动,放大,旋转)

  • 能为图片添加标签(同样可以移动)

  • 本地保存制作好的图片,并展示

  • 较多的自定义控件,不错的项目架构


二、仿微信多图选择


介绍:

仿微信实现多图选择。支持 单选 和 多选 两种模式。


运行效果展示:


开源分享 一(StickerCamera + 仿微信多图选择)            开源分享 一(StickerCamera + 仿微信多图选择)

开源分享 一(StickerCamera + 仿微信多图选择)            开源分享 一(StickerCamera + 仿微信多图选择)

使用说明:

一、 把模块 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




版权声明:本文为博主原创文章,未经博主允许不得转载。

开源分享 一(StickerCamera + 仿微信多图选择)

上一篇:[微信营销企划之路]003.Access forbidden!


下一篇:微信公众平台开发教程(一) 微信公众账号注册流程