开启组件
设置组件委托
使用下面代码创建组件委托,并将得到的委托对象传递给获取组件对象时调用的 avatarCommponent()
方法。
// 组件委托 TuSdkComponentDelegate delegate = new TuSdkComponentDelegate() { @Override public void onComponentFinished(TuSdkResult result, Error error, TuFragment lastFragment) { TLog.d("onAvatarComponentReaded: %s | %s", result.imageFile, error); } };
获取组件对象
组件对象使用 TuSdkGeeV1 类中的 avatarCommponent()
方法获得:
avatarCommponent(Activity activity, TuSdkComponentDelegate delegate)
如下面代码所示:
TuAvatarComponent component = TuSdkGeeV1.avatarCommponent(activity, new TuSdkComponentDelegate() { @Override public void onComponentFinished(TuSdkResult result, Error error, TuFragment lastFragment) { TLog.d("onAvatarComponentReaded: %s | %s", result.imageFile, error); } });
开启组件
获得组件对象之后调用该对象的 showComponent()
方法可以开启组件,同时也可以设置组件执行完成后自动关闭,如下代码所示:
// 在组件执行完成后自动关闭组件 component.setAutoDismissWhenCompleted(true) // 开启组件 .showComponent();
头像组件选项配置
头像设置组件可以选择拍照或者从相册中选取图片,最后再使用裁切组件编辑图片,因此头像组件可以对以下选项进行配置:
相册列表选项
照片列表选项
相机组件选项
裁切界面控制器选项
配置相册列表选项
相册列表选项使用component.componentOption().albumListOption()
来配置,比如可以用来设置打开相册后自动跳转到某一个相册中:
component.componentOption().albumListOption().setDisableAutoSkipToPhotoList(true);
配置照片列表选项
照片列表选项使用component.componentOption().photoListOption()
来配置,比如可以用来设置当相册为空时默认显示的界面:
component.componentOption().photoListOption().setEmptyViewLayouId(layout_id);
配置相机组件选项
相机组件选项使用component.componentOption().cameraOption()
来配置,可以配置在相机组件的使用文档中介绍的各个配置选项,比如设置拍摄的照片保存到相册:
component.componentOption().cameraOption().setSaveToAlbum(true);
配置裁切界面控制器选项
裁切界面选项使用component.componentOption().editTurnAndCutOption()
来配置,比如设置编辑后的图片保存到相册:
component.componentOption().editTurnAndCutOption().setSaveToAlbum(true);
获取编辑结果
头像设置组件可以通过设置不同的属性管理编辑结果的输出方式,可以通过下面三种方式获得编辑后的结果:
获取图片的 Bitmap 对象,此方式将不保存图片
获取图片的存储路径,此方式会将图片保存在相册中
将图片保存在临时文件中,并获取临时文件
获取编辑结果的 Bitmap 对象
需要进行如下设置:
// 是否保存到相册 component.componentOption().editTurnAndCutOption().setSaveToAlbum(false); // 是否保存到临时文件 component.componentOption().editTurnAndCutOption().setSaveToTemp(false);
该方式将不会保存处理结果。
随后可以在所设置的组件委托中的 onComponentFinished(TuSdkResult result, Error error, TuFragment lastFragment)
方法中使用 result.image
获取图片的 Bitmap 对象。
获取编辑结果的存储路径
需要进行如下设置:
// 是否保存到相册 component.componentOption().editTurnAndCutOption().setSaveToAlbum(true); // 是否保存到临时文件 component.componentOption().editTurnAndCutOption().setSaveToTemp(false);
该方式会将处理结果保存到相册中。
同时也可以设置
component.componentOption().editTurnAndCutOption().setSaveToAlbumName("TuSDKEdit");
将图片保存到名称为 TuSDKEdit
的相册中。
同时,此方法还可以使您获取到处理后的照片的其他属性,比如拍摄时间、文件长宽等,具体可以参看 ImageSqlInfo 类的API。
随后可以在所设置的组件委托中的 onComponentFinished(TuSdkResult result, Error error, TuFragment lastFragment)
方法中使用 result.imageSqlInfo.path
获取图片路径。
获取编辑结果所在的临时文件
需要进行如下设置:
// 是否保存到相册 component.componentOption().editTurnAndCutOption().setSaveToAlbum(false); // 是否保存到临时文件 component.componentOption().editTurnAndCutOption().setSaveToTemp(true);
该方式将会把处理结果保存到临时文件,同时也可以设置
// 自动清理临时文件 component.componentOption().editTurnAndCutOption().setAutoRemoveTemp(true);
这样在处理完成之后将会自动删除临时文件。
随后可以在所设置的组件委托中的 onComponentFinished(TuSdkResult result, Error error, TuFragment lastFragment)
方法中使用 result.imageFile
获取临时文件。
共同学习,写下你的评论
评论加载中...
作者其他优质文章