Android 表情功能实现,封装面板方便使用

最近项目要修改表情布局,看着那个心碎啊,好几个页面都用到了表情面板,以前的哥们不耐其凡的复制了好几份,每次都一大堆代码,看着心里有些无奈的抓狂。

原理:表情底层数据传输其实就是一个特殊文本传输,通过文本匹配,显示出对应的表情。特殊文本需要用到安卓中的SpannableString拓展性字符串相关知识SpannableString可以让一段字符串在显示的时候,将其中某段文字附着上其他内容,附着的拓展内容可以是图片,或者特殊文字格式等

看看效果:


使用方法:

1.在使用前要初始化,建议放在ManiActivity中

/**
 * 初始化表情
 */
private void initEmoji() {
    // 初始化英寸数
    double density = getDensity();
    if (density > 0) {
        SmileyParser.SCREEN_INCH = density;
    }
    //如果优化将这个初始化到首页MainActivity
    DisplayMetrics metrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(metrics);
    SmileyParser.init(getBaseContext(),metrics);
}


2.在xml文件中使用面板

        <com.test.emoji.emoji.EmojiRelativaLayout
            android:id="@+id/emojiView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

        </com.test.emoji.emoji.EmojiRelativaLayout>

3.使用
  mEmoji = (EmojiRelativaLayout) findViewById(R.id.emojiView);
        mEmoji.setOnEmojiView(this);

源码下载:http://download.csdn.net/detail/li5685918/9862123



你可能感兴趣的:(Android 表情功能实现,封装面板方便使用)