Android 如何简单集成 Emoji 键盘

Hi

简评:使用一个库,简单的几个步骤,就能为你的 Android 应用集成好 Emoji 键盘啦。

现在 Emoji 已经快成了世界通用语言,各种聊天应用也都纷纷支持起了 Emoji。今天这里就介绍下如何简简单单就集成 Emoji 键盘。

首先我们使用 SuperNova-Emoji 这个库。

使用 hani.momanii.supernova_emoji_library.Helper.EmojiconEditText 而不是 EditText 作为输入框:


EmojiconTextView 来展示消息:


修改调出 emoji 键盘的按钮图标:

rootView = findViewById(R.id.root_view);
emojiconEditText = (EmojiconEditText) findViewById(R.id.emojicon_edit_text);
textView = (EmojiconTextView) findViewById(R.id.textView);
emojiIcon = new EmojIconActions(this, rootView, emojiconEditText, emojiImageView);
emojiIcon.ShowEmojIcon();
emojiIcon.setIconsIds(R.drawable.ic_action_keyboard,R.drawable.smiley);
Android 如何简单集成 Emoji 键盘_第1张图片
看,出来了

还能根据应用的配色来自定义颜色:

EmojIconActions emojIcon= new EmojIconActions(this, rootView, emojiconEditText, emojiImageView,
"#F44336","#e8e8e8","#f4f4f4");
 

emojIcon.ShowEmojIcon();

Android 如何简单集成 Emoji 键盘_第2张图片
玩起来

完整的示例代码:



 
    
 
    
 
    
 
 
    
 
    

public class MainActivity extends AppCompatActivity {
 
    private static final String TAG = MainActivity.class.getSimpleName();

    CheckBox mCheckBox;
    EmojiconEditText emojiconEditText;
    EmojiconTextView textView;
    ImageView emojiImageView;
    ImageView submitButton;
    View rootView;
    EmojIconActions emojIcon;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        rootView = findViewById(R.id.root_view);
        emojiImageView = (ImageView) findViewById(R.id.emoji_btn);
        submitButton = (ImageView) findViewById(R.id.submit_btn);
        mCheckBox = (CheckBox) findViewById(R.id.use_system_default);
        emojiconEditText = (EmojiconEditText) findViewById(R.id.emojicon_edit_text);
        textView = (EmojiconTextView) findViewById(R.id.textView);
        emojIcon = new EmojIconActions(this, rootView, emojiconEditText, emojiImageView);
        emojIcon.ShowEmojIcon();
        emojIcon.setIconsIds(R.drawable.ic_action_keyboard, R.drawable.smiley);
        emojIcon.setKeyboardListener(new EmojIconActions.KeyboardListener() {
            @Override
            public void onKeyboardOpen() {
                Log.e(TAG, "Keyboard opened!");
            }
 
            @Override
            public void onKeyboardClose() {
                Log.e(TAG, "Keyboard closed");
            }
        });
 
        mCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
                emojIcon.setUseSystemEmoji(b);
                textView.setUseSystemDefault(b);
 
            }
        });
 
 
        submitButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String newText = emojiconEditText.getText().toString();
                textView.setText(newText);
            }
        });
    }
}

运行效果:


Android 如何简单集成 Emoji 键盘_第3张图片
嘿嘿嘿

原文:Android How to Integrate Emojis Keyboard in your App

日报延伸阅读

  • 聊聊 Android StateListAnimator

欢迎关注

  • 知乎专栏「极光日报」,每天为 Makers 导读三篇优质英文文章。
  • 网易云电台「极光日报**」,上下班路上为你读报。

你可能感兴趣的:(Android 如何简单集成 Emoji 键盘)