将表情符号添加到Android键盘

时间:2015-07-26 17:19:19

标签: android unicode ascii android-softkeyboard emoji

我正在制作自己的自定义键盘,我在添加表情符号方面遇到了问题。作为android:keyIcon,我有一个表情符号,我需要android:codes。按下表情符号时我不知道输出什么。我在网上寻找解决方案,但我没有找到任何东西。有谁知道我应该用什么代码输出表情符号。提前谢谢。

以下是xml代码的一部分:

 <Row>
    <Key android:codes="1F926" android:keyIcon="@drawable/e415" />
    <Key android:codes="U+1F601" android:keyIcon="@drawable/e415" />
    <Key android:codes="57430" android:keyIcon="@drawable/e0415" />
</Row>

当我点击第一个或第二个时输出为空,当我点击第二个时输出是一些中文字母。

3 个答案:

答案 0 :(得分:1)

如果您使用的是android studio,这会有所帮助(在build.gradle文件中):

dependencies {

   compile 'com.rockerhieu.emojicon:library:1.0'
}

答案 1 :(得分:1)

您根本不需要添加任何表情符号库或更改gradle文件。示例(XML):

<Key android:keyLabel="\u2665" android:keyOutputText="\u2665"/>

使用表情符号unicode,不带+,在代码前添加\以使用转义序列。 (以上示例中使用的表情符号锹)。

在图形中使用keyIcon而不是keyLabel:)

答案 2 :(得分:0)

我最近写了自定义键盘。 我使用了这个lib的组合 -

private static final String SEARCH_QUERY = "almounir"; //the user name

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout. activity_timeline);

    ListView lv = (ListView) findViewById(R.id.list);
    //lv.setEmptyView(findViewById(R.id.loading)); d'ont forget to add loading pic 

    SearchTimeline searchTimeline = new SearchTimeline.Builder().query(SEARCH_QUERY).build();

    final TweetTimelineListAdapter timelineAdapter = new TweetTimelineListAdapter(this, searchTimeline);

    lv.setAdapter(timelineAdapter);
}

和我上传的文件 - http://www.ex.ua/116630385444

你必须解析文件nad获取所有代码。要正确显示表情符号,请使用上面提到的lib中的视图

好处是所有机器人都会看到表情符号,不像内置的表情符号(在4.2和4.4的机器人上只有3(!)内置的表情符号)