您的位置:首页 > 移动开发 > 微信开发

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

2015-09-04 02:44 696 查看
开源分享 一

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

一、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

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

开源分享三(炫酷的Android Loading动画)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: