# KJEmoji
**Repository Path**: treejames/KJEmoji
## Basic Information
- **Project Name**: KJEmoji
- **Description**: 一个Emoji表情控件
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: http://www.kymjs.com
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 25
- **Created**: 2016-01-18
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
#KJEmoji
一款Android的Emoji表情控件
---
# 公告
KJEmoji的实现方式已经过时,推荐你看我的新作品,基于系统层的实现,效率更高,使用更灵活方便[EmojiChat](https://github.com/kymjs/EmojiChat)
## 功能简介
最大的优势在于其灵活性,支持单种类的表情或分类Emoji表情以及自定义表情的显示,可以使用在任何EditText的输入,可以在任何TextView中显示。
你可以自由配置每个Emojicon图标所代表的文字,示例:[DisplayRules](https://git.oschina.net/kymjs/KJEmoji/blob/master/KJEmojiLibrary/src/org/kymjs/emoji/model/DisplayRules.java)
KJEMOJI2(0, 2, R.drawable.smiley_1, "[02]");
> 表示这个属性叫KJEMOJI2,
> 在ViewPager中的第0页,
> 它对应的值是2(这个是为了方便区分,如果不需要可以传任意值),
> 资源名是smiley_1,
> 当复制时(或在服务器传输时)替代的文字是"[02]"。
在解析时,同样支持根据自定义符号解析,比如你可以以[02]表示一个表情,也可以以":hello:"表示一个表情。
## 使用方法
###基础用法
```java
public class MainActivity extends FragmentActivity implements
OnSendClickListener {
private KJEmojiFragment emojiFragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
emojiFragment = new KJEmojiFragment();
getSupportFragmentManager().beginTransaction()
.replace(R.id.root, emojiFragment).commit();
}
@Override
public void onClickSendButton(Editable str) {
Toast.makeText(this, str.toString(), Toast.LENGTH_SHORT).show();
}
}
```
###在TextView中显示
```java
/**
* @param res Resource对象
* @param str 要显示的包含Emoji表情字符的字符串
* @param flagStart 表情解析的起始标记
* @param flagEnd 表情解析的结束标记
*/
InputHelper.displayEmoji(Resources res, String str,
String flagStart, String flagEnd);
```
### 更多高级配置
参看代码注释[KJEmojiConfig](https://git.oschina.net/kymjs/KJEmoji/blob/master/KJEmojiLibrary/src/org/kymjs/emoji/model/KJEmojiConfig.java)
### 截图(左侧为多种Emoji表情,右侧为仅一种Emoji表情的显示)
