请注明转载出处: 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