欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  技术分享

Android头像照片选择器_头像图片裁剪压缩封装库

程序员文章站 2021-11-28 11:20:44
...

TakePhoto是一款用于在Android设备上获取照片(拍照或从相册、文件中选择)、裁剪图片、压缩图片的开源工具库,目前分享的版本是3.0.2、TakePhoto有以下特点、大家可以先看看是不是非常实用

1、支持通过相机拍照获取图片

2、支持从相册选择图片

3、支持从文件选择图片

4、支持批量图片选取

5、支持图片压缩以及批量图片压缩

6、支持图片裁切以及批量图片裁切

7、支持照片旋转角度自动纠正

8、支持自动权限管理(无需关心SD卡及摄像头权限等问题)

9、支持对裁剪及压缩参数个性化配置

10、提供自带裁剪工具(可选)

11、支持智能选取及裁剪异常处理

12、支持因拍照Activity被回收后的自动恢复

13、支持Android7.0

Android头像照片选择器_头像图片裁剪压缩封装库


Activity使用方法

public class SimpleActivity extends TakePhotoActivity {
    private CustomHelper customHelper;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        View contentView=LayoutInflater.from(this).inflate(R.layout.common_layout,null);
        setContentView(contentView);
        customHelper=CustomHelper.of(contentView);
    }

    public void onClick(View view) {
        customHelper.onClick(view,getTakePhoto());
    }

    @Override
    public void takeCancel() {
        super.takeCancel();
    }

    @Override
    public void takeFail(TResult result, String msg) {
        super.takeFail(result, msg);
    }

    @Override
    public void takeSuccess(TResult result) {
        super.takeSuccess(result);
        showImg(result.getImages());
    }

    private void showImg(ArrayList<TImage> images) {
        Intent intent=new Intent(this,ResultActivity.class);
        intent.putExtra("images",images);
        startActivity(intent);
    }
}


Fragment使用方法

public class SimpleFragment extends TakePhotoFragment {
    private CustomHelper customHelper;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

    }

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view=inflater.inflate(R.layout.common_layout,null);
        customHelper=CustomHelper.of(view);
        return view;
    }

    public void onClick(View view) {
        customHelper.onClick(view,getTakePhoto());
    }
    @Override
    public void takeCancel() {
        super.takeCancel();
    }
    @Override
    public void takeFail(TResult result,String msg) {
        super.takeFail(result,msg);
    }
    @Override
    public void takeSuccess(TResult result) {
        super.takeSuccess(result);
        showImg(result.getImages());
    }

    private void showImg(ArrayList<TImage> images) {
        Intent intent=new Intent(getContext(),ResultActivity.class);
        intent.putExtra("images",images);
        startActivity(intent);
    }
}


以上就是TakePhoto在Activity和Fragment中使用方法、大家可以直接下载源代码预览

Android头像选择裁剪压缩源代码下载链接: android 头像裁剪demo 密码: gkm6