天天看点

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

开源分享二(Android相机开发实战)

开源分享三(炫酷的Android Loading动画)