前言

我们在生活中美化图片的方法很多,贴纸花字是其中一种美化功能。Image Kit的贴纸花字可任意添加、拖动、缩放,且可以自定义花字的文本内容,为你的图片增添新活力。

应用场景

贴纸花字大多数可用于修图软件里,你可选择与图片风格相搭配的贴纸花字,且类型丰富多样。

在这里插入图片描述

在这里插入图片描述

开发实战

下面给大家介绍怎么集成Image kit的贴纸花字能力:

开发准备
贴纸花字服务的所有接口的实现都是基于StickerLayout,是一个自定义View,import的包名为com.huawei.hms.image.vision.sticker.StickerLayout,直接可以集成在layout的XML中。

步骤1: 获取到StickerLayout对象。
通过findViewById获取到StickerLayout对象后,可以调用具体的逻辑方法。

StickerLayout mStickerLayout =   findViewById(R.id.sticker_container);

步骤2: 提供资源文件。

贴纸定义规范,参见贴纸设计指导及规范
花字定义规范,参见花字设计指导及规范

步骤3: 添加贴纸花字。
调用addSticker接口,添加贴纸花字,传入资源文件路径和文件名,如果返回码为0,则为添加成功,贴纸花字总数最多可以添加50个。

int   resultCode = mStickerLayout.addSticker(rootPath,   fileName);

请求接口参数描述:

参数列表类型M/O(必选/可选)说明
rootPathStringM资源文件根目录。
fileNameStringM如果是贴纸,需要指定的文件名,其他可以传null。

代码示例:

addSticker(rootPath + "贴纸1", "sticker_10_editable.png");
addSticker(rootPath + "花字4", null);

步骤4: 更新花字的文本。

开发者可以对花字文本进行编辑,通过回调方法setStickerLayoutListener(new StickerLayout.StickerLayoutListener())

获取花字文本编辑对象textEditInfo,textEditInfo 调用setText,进行文字编辑,最后mStickerLayout调用updateStickerText方法进行更新。

//获取TextEditInfo对象

mStickerLayout.setStickerLayoutListener(new   StickerLayout.StickerLayoutListener() {

    @Override  
    public void   onStickerLayoutClick() {

    }

    @Override
    public void   onStickerTouch(int index) {

    }

    @Override  
    public void   onTextEdit(TextEditInfo textEditInfo) {
          StickerActivity.this.textEditInfo = textEditInfo;   
    }

    @Override
    public void   needDisallowInterceptTouchEvent(boolean isNeed) {

    }
});

//更新花字文本为"花字测试"字样
textEditInfo.setText("花字测试");
mStickerLayout.updateStickerText(textEditInfo);

DEMO效果

在这里插入图片描述


原文链接:https://developer.huawei.com/consumer/cn/forum/topic/0204403856067210183?fid=18

原作者:胡椒


华为开发者论坛
352 声望56 粉丝

华为开发者论坛是一个为开发者提供信息传播、开发交流、技术分享的交流空间。开发者可以在此获取技术干货、华为源码开放、HMS最新活动等信息,欢迎大家来交流分享!


引用和评论

0 条评论