涂图

  • 首页
  • 解决方案
    • 拍照和图片编辑
    • 视频录制和后期编辑
    • 模板视频
    • 人像美颜
    • 人脸特效
    • 滤镜特效
    • 贴纸特效
  • API服务
    • 人像服务
    • 视频融合
    • 人脸云
    • 在线滤镜
  • 客户案例
  • 下载
  • 文档
  • 关于我们
  • 控制台
  • 一、新手上路
  • 控制台操作说明
    • 控制台使用说明
    • 自定义资源上传说明
  • 二、SDK 文档
  • 图像 SDK
    • 产品说明
      • 产品指南
      • 性能测试报告
    • iOS 文档
      • 快速开始
      • 安装与更新
      • 集成向导
      • 相机组件的使用
      • 相册组件的使用
      • 照片美化组件的使用
      • 主题包基础使用
      • 自定义滤镜
      • 自定义贴纸
      • 自定义界面
      • 自定义 ProgressHUD 提示框(2.0.0~3.2.7)
      • 自定义 ProgressHUD 提示框
      • API 文档
      • 致谢
    • Android 文档
      • 快速开始
      • 安装与更新
      • 集成向导
      • 相机组件的使用
      • 照片美化组件的使用
      • 头像设置组件的使用
      • 多选相册组件的使用
      • 主题包基础使用
      • 自定义贴纸
      • 自定义滤镜
      • 自定义界面
      • 自定义进度信息提示框
      • 自定义 Activity 打开相机
      • API 文档
      • 致谢
    • iOS 技术问题
      • 「Incorrenct app key」
      • 更换滤镜效果图
      • 导航栏与状态栏
      • 组件中使用部分滤镜
      • Cocoapods 相关问题
      • 图片尺寸变化
      • Photos.framework 相关错误
      • 多包名发布
      • GPUImage 的相关错误
      • TuSDKTSALAsset 转换系统对象
      • 滤镜无法显示名称
      • 获取相机的点击事件
    • Android 技术问题
      • Incorrenct app key
      • 重复引用包
      • Recyclerview 库缺失
      • 方法数超出 65536 限制
      • 传入图片路径
      • 指定裁剪比例
      • 指定相册每行列数
      • 禁用相册自动跳转
      • 如何使用部分滤镜?
      • 代码混淆
      • TuSDK 使用的依赖库
      • 多渠道打包
      • 设置相机输出尺寸
      • 相机横屏设置
      • 自定义照片美化组件各功能模块效果默认参数值
    • 拼图设计
      • 拼图模板导出
    • 版本更新日志
      • iOS 版本更新日志
      • Android 更新日志
  • 视频剪辑 SDK
    • 产品说明
      • 产品指南
    • iOS文档
      • TuSDK Video Editor iOS 接入文档
    • Android文档
      • TuSDK Video Editor Android 接入文档
    • 版本更新日志
      • iOS 版本更新日志
      • Android 版本更新日志
  • 流处理(特效相机) SDK
    • 产品说明
      • 产品指南
    • iOS 文档
      • TuSDK特效相机接入文档-iOS
      • TuSDK直播特效接入说明-iOS
    • Android 文档
      • TuSDK特效相机接入文档-Android
      • TuSDK直播特效接入说明-Android
    • 版本更新日志
      • iOS 版本更新日志
      • Android 版本更新日志
  • 视频融合 SDK
    • 产品说明
      • 产品指南
      • 模板管理
    • iOS 文档
      • 快速开始
      • 安装与更新
      • TuSDK EVA 接入说明 2.0
      • API文档
    • Android 文档
      • 快速开始
      • 安装与更新
      • TuSDK EVA 接入说明 (2.0.0+)
      • API 文档
    • 模板设计
      • (新)标准模板设计规范
      • (旧)标准模板设计规范
      • 支持的 AE 功能和属性
      • 动态模板设计规范
    • 模板导出
      • (新)模板导出插件安装
      • (新)模板导出插件使用
      • (旧)模板导出插件安装
      • (旧)模板导出插件使用
      • (旧)模板效果查看器
      • (旧)模板打包规范
    • 版本更新日志
      • iOS 版本更新日志
      • Android 版本更新日志
      • 导出插件版本更新日志
      • 效果查看器更新日志
  • 短视频 SDK
    • 产品说明
      • 产品指南
      • 性能测试报告
    • iOS 文档
      • 快速开始
      • 集成向导
      • 录制相机的使用
      • 视频编辑器的使用
      • 功能 API 的使用
      • API 文档
    • Android 文档
      • 快速开始
      • 集成向导
      • 录制相机的使用
      • 视频编辑器的使用
      • 功能 API 的使用
      • API 文档
    • iOS 技术问题
      • 常见问题
    • Android 技术问题
      • 常见问题
    • 版本更新日志
      • iOS 版本更新日志
      • Android 版本更新日志
  • 三、云服务文档
  • 人像服务
    • 使用文档
      • 快速入门
      • 核心功能
    • API概述
      • API 概述
      • API 文档
    • 常见问题
      • 常见问题
  • 视频融合(云渲染)
    • 使用文档
      • 快速入门
      • 模板管理
    • API概述
      • API概述
      • API 文档
    • 模板设计
      • (新)标准模板设计规范
      • (旧)标准模板设计规范
      • 支持的 AE 功能和属性
      • 动态模板设计规范
    • 模板导出
      • (新)模板导出插件安装
      • (新)模板导出插件使用
      • (旧)模板导出插件安装
      • (旧)模板导出插件使用
      • (旧)模板效果查看器
      • (旧)模板打包规范
    • 常见问题
    • 版本更新日志
      • 导出插件版本更新日志
      • 效果查看器更新日志
  • 人脸云
    • 使用文档
      • 快速入门
      • 核心功能
    • API 概述
      • API 概述
    • 常见问题
      • 常见问题
  • 在线滤镜
    • 使用文档
      • 快速入门
      • 核心功能
      • FILTER API
      • API 错误码表
    • API概述
      • API 概述
    • 常见问题
      • 常见问题
  • 四、综合
  • 涂图隐私协议
  • 用户退出机制
  • 动态贴纸设计规范
  • 美妆贴纸设计规范
  • 云服务账单说明
  • 应用包名与密钥
  • 基础服务开发者升级流程
  • 五、常见问题
  • 常见问题
  • 遇到问题,怎么办?
  • 如何使用贴纸管理、滤镜管理?

自定义界面

修改相机组件界面

修改相机组件界面需要继承 TuCameraFragment 类并在子类中重写 loadView() 方法,在 loadView() 方法中使用 getViewById() 方法找到新添加的视图,然后对该视图进行操作。

在布局文件中添加视图

相机组件界面布局文件是 tusdk_impl_component_camera_fragment.xml,放在 TuSDK/res/layout 目录下,建议用户修改界面的时候不要直接在该文件上做修改,而是把该文件复制到自己的项目下的 res/layout 目录中并重命名,比如命名为 custom_camera_fragment_layout.xml,这样可以防止将来升级 SDK 的时候造成覆盖。

找到自己项目下的 custom_camera_fragment_layout.xml 文件,在合适位置添加上自己想要显示的视图。

在子类中重写 loadView() 方法

新建一个类 CustomCameraFragment 继承 TuCameraFragment,并在该类中重写 loadView() 方法,在此方法中找到添加的视图并对其进行操作。

 // 子类继承 TuCameraFragment
 public class CustomCameraFragment extends TuCameraFragment
 {
    /**
     * 布局 ID
     */
    public static int getLayoutId()
    {
        return R.layout.custom_camera_fragment_layout;
    }

    @Override
    protected void loadView(ViewGroup view)
    {
        super.loadView(view);

        // 在这里使用 getViewById() 方法找到新添加的视图
    }
 }

设置相机属性并开启相机

这里需要将子类 CustomCameraFragment 指定为相机组件的控制器类型,将custom_camera_fragment_layout.xml 指定为相机组件的布局 ID,然后再开启相机。

开启相机的步骤跟正常打开相机是一样的,都是先获取 TuCameraFragment 的实例然后打开。

打开相机完整代码如下:

 TuCameraOption option = new TuCameraOption();

 // 控制器类型
 option.setComponentClazz(CustomCameraFragment.class);

 // 设置根视图布局资源 ID
 option.setRootViewLayoutId(CustomCameraFragment.getLayoutId());

 TuCameraFragment fragment = option.fragment();
 // 开启相机
 presentModalNavigationActivity(fragment, true);

修改照片美化组件界面

修改照片美化组件界面需要新建一个类继承 TuEditMultipleFragment 类,并在子类中重写 loadView() 方法,在该方法中使用 getViewById(int id) 找到用户添加的视图。

在布局文件中添加视图

照片美化组件界面布局文件是 tusdk_impl_component_edit_multiple_fragment.xml,放在 TuSDK/res/layout 目录下,建议用户修改界面的时候不要直接在该文件上做修改,而是把该文件复制到自己的项目下的 res/layout 目录中并重命名,比如命名为 custom_multiple_fragment_layout.xml,这样可以防止将来升级 SDK 的时候造成覆盖。

找到自己项目下的 custom_multiple_fragment_layout.xml 文件,在合适位置添加上自己想要显示的视图。

在子类中重写 loadView() 方法

新建一个类 CustomMultipleFragment 继承 TuEditMultipleFragment,并在该类中重写 loadView() 方法,在此方法中找到添加的视图并对其进行操作。

 // 子类继承 TuEditMultipleFragment
 public class CustomMultipleFragment extends TuEditMultipleFragment
 {
    /**
     * 布局ID
     */
    public static int getLayoutId()
    {
        return R.layout.custom_multiple_fragment_layout;
    }

    @Override
    protected void loadView(ViewGroup view)
    {
        super.loadView(view);

        // 在这里使用 getViewById()方法找到新添加的视图
    }
 }

指定控制器类型和根视图资源 ID

当把子类和布局文件都写好之后,下面就是把子类和布局文件指定给照片美化组件了。

首先需要获得一个照片美化组件的对象,如下所示:

TuEditMultipleComponent component = null;

// 组件委托
TuSdkComponentDelegate delegate = new TuSdkComponentDelegate()
{
  @Override
  public void onComponentFinished(TuSdkResult result, Error error, TuFragment lastFragment)
  {
    TLog.d("onEditMultipleComponentReaded: %s | %s", result, error);
  }
};

component = TuSdkGeeV1.editMultipleCommponent(MainActivity.this, delegate);

MainActivity 是用户自己的继承自 android.app.Activity 的类,delegate 是对照片美化组件设置的组件委托。

然后是给照片美化组件指定控制器类型和根视图资源 ID,如下所示:

 // 指定控制器类型
 component.componentOption().editMultipleOption().setComponentClazz(CustomMultipleFragment.class);
 // 指定根视图资源ID
 component.componentOption().editMultipleOption().setRootViewLayoutId(R.layout.custom_multiple_fragment_layout);

最后给组件设置图片并开启:

// 设置图片
component.setImage(result.image)
   // 设置系统照片
   .setImageSqlInfo(result.imageSqlInfo)
   // 设置临时文件
   .setTempFilePath(result.imageFile)
   // 在组件执行完成后自动关闭组件
   .setAutoDismissWhenCompleted(true)
   // 开启组件
   .showComponent();

  • 修改相机组件界面
  • 修改照片美化组件界面
  • 在线技术支持
  • 专业售前售后团队
  • 版本定期更新
  • 全方位解决方案

商务合作

  • 177-6716-7529
  • 2969573855
  • sales@tusdk.com
  • 浙江省 杭州市 西湖区 西斗门9号 福地创业园1号楼3楼301室

关注我们

qrcode

©2019-2025 TUTUCLOUD. All Rights Reserved. 杭州元凡视觉智能科技有限公司 | 浙ICP备14040447号-1 | 浙公网安备33010602001649号

  • 177-6716-7529
  • sales@tusdk.com
  • 2969573855