请注明转载出处: http://blog.csdn.net/langtuteng136/article/details/50848458
先看一下最终的效果:
效果图还是不错的,实现的原理我就不一一称述了,只讲一下它的使用方法,
目录结构是这样的:
你只需要把emojiconlibrary 作为模块导入到项目中就可以了,然后在调用的时候很简单,但是有一点需要注意:在进去表情页面之前需要将表情的标识进行初始化,调用一个方法就OK了。
方法是:
FaceConversionUtil.getInstace().getFileText(getApplication());
贴一下我的MainActivity.class
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import zhanghuan.cn.emojiconlibrary.FaceConversionUtil;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FaceConversionUtil.getInstace().getFileText(getApplication());
findViewById(R.id.show_btn).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, EmoiconActivity.class));
}
});
}
}
EmojiconActivity.class 文件:
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.SpannableString;
import android.view.KeyEvent;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import zhanghuan.cn.emojiconlibrary.FaceConversionUtil;
import zhanghuan.cn.emojiconlibrary.FaceRelativeLayout;
public class EmoiconActivity extends AppCompatActivity {
private EditText mEditEmojicon;
private ImageView mSend;
private TextView mShowTxt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_emoicon);
initView();
}
private void initView() {
mShowTxt = (TextView) findViewById(R.id.show);
mEditEmojicon = (EditText) findViewById(R.id.et_sendmessage);
mSend = (ImageView) findViewById(R.id.btn_send);
mSend.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String content = "内容显示:" + mEditEmojicon.getText().toString();
showText(content);
}
});
}
private void showText(String content) {
SpannableString spannableString = FaceConversionUtil.getInstace().getExpressionString(EmoiconActivity.this, content);
mShowTxt.setText(spannableString);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK
&& ((FaceRelativeLayout) findViewById(R.id.FaceRelativeLayout))
.hideFaceView()) {
return true;
}
return super.onKeyDown(keyCode, event);
}
}
调用是很简单,库中的代码就不贴了,自己下载就好。
源码我放在了github 上,同时也上传了apk包,可以先下载下来看下是否是你要的,有需要的可以去下载。
链接地址: https://github.com/john123fd/EmojiconAndroid