android 自定义颜文字,FaceTextLayout

博客介绍了如何对长度不一的颜文字进行整齐排版,使用FaceText库并提供了点击回调接口。文章展示了FaceTextInputLayout的使用,通过设置颜文字源和点击事件,实现了类似QQ输入法的颜文字展示效果。虽然已有改进算法,但建议产品经理进一步优化用户体验。
摘要由CSDN通过智能技术生成

FaceTextLayout.svg

问题

如何对长度不一的颜文字进行整齐的排版呢!

Thanks

真的非常感谢这位童鞋提供的思路,大家有兴趣可以看看 FaceText!

功能

模仿 QQ 输入法颜文字 的排版

为颜文字设置 selector

提供颜文字点击回调接口

...

效果演示

1218722546b9a7ceed7e908a2afed7b8.gif

小瑕疵

1.虽然改进版的排版算法已经可以排版排的很漂亮了,但是,如果要让用户体验更棒,建议还是辛苦下产品童鞋给颜文字排下版吧!

2.尽可能地降低 View 层级

View%20%E5%B1%82%E7%BA%A7.png

3.玄学曲线

%E7%8E%84%E5%AD%A6%E6%9B%B2%E7%BA%BF.gif

用法

public class FaceLayoutDemoActivity extends AppCompatActivity {

@Override protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_face_text_demo);

FaceTextInputLayout faceTextInputLayout =

(FaceTextInputLayout) findViewById(R.id.tv_face_text_input_layout);

// 设置“颜文字 source”

faceTextInputLayout.setFaceTextSource(new RawSource(this,R.raw.face_text));

// 设置点击事件

faceTextInputLayout.setOnFaceTextClickListener(new OnFaceTextClickListener() {

@Override public void onFaceTextClick(FaceText faceText) {

Toast.makeText(FaceLayoutDemoActivity.this, faceText.content, Toast.LENGTH_SHORT).show();

}

});

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值