简述
自己封装一个EditText(实际上只是在EditText内部添加了一个TextWatcher),监听文本改变,将其中的“[..]”类型的文本替换为表情。
先说一下在编写中遇到的一个问题:
Drawable drawable = getResources().getDrawable(p1, null);
ImageSpan span = new ImageSpan(drawable, DynamicDrawableSpan.ALIGN_BASELINE);
s.setSpan(span, start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
这里获取出来的ImageSpan是显示不出来的!
使用这个方法时,必须设置drawable的边界:
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(),
drawable.getIntrinsicHeight());
或者使用ImageSpan的另一个构造方法:
ImageSpan span = new ImageSpan(getContext(), R.drawable.p1, DynamicDrawableSpan.ALIGN_BASELINE);
项目
(效果图)
package com.momingqi.wedget;
import android.content.Context;
import android.text.