如何在Android

时间:2016-01-12 05:13:02

标签: android emoticons

我正在研究android中的即时聊天应用程序。我已经完成了基本功能,例如从一个移动设备向另一个移动设备发送消息,从Web应用程序发送到移动应用程序。现在我在我的应用程序中添加了一些额外的功能。我在我的应用程序中添加表情符号。我正在使用库编译'com.rockerhieu.emojicon:library:1.3.3'来添加表情符号。 我在使用这个库时遇到问题。我选择的情感因素在发送后会发生变化。屏幕截图是为了帮助而提供的。

截图 Image 1 Selecting emotiocons

Image 2 After being sent

Image 3

image 4

activity_chat.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FCAB26"
android:orientation="vertical"
android:weightSum="1">

<ListView
    android:id="@+id/list_view_messages"
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight=".60"
    android:background="@null"
    android:divider="@null"
    android:stackFromBottom="true"
    android:transcriptMode="alwaysScroll"></ListView>


<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom"
    android:layout_weight=".10"
    android:orientation="horizontal"
    android:weightSum="1">

    <com.rockerhieu.emojicon.EmojiconEditText
        android:id="@+id/edtMessage"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:layout_weight=".70"></com.rockerhieu.emojicon.EmojiconEditText>

    <Button
        android:id="@+id/btnSendMessage"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:layout_weight=".30"
        android:gravity="center"
        android:onClick="onClick"
        android:text="Send Message" />
</LinearLayout>

<FrameLayout
    android:id="@+id/emojicons"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight=".30" />

ChatActivity.java

以下是处理表情符号的代码部分:

    public class ChatActivity extends FragmentActivity implements
        EmojiconGridFragment.OnEmojiconClickedListener, EmojiconsFragment.OnEmojiconBackspaceClickedListener {

    EmojiconEditText edMessage = (EmojiconEditText) findViewById(R.id.edtMessage);
 @Override
    public void onEmojiconBackspaceClicked(View view) {
        EmojiconsFragment.backspace(edMessage);
    }

    @Override
    public void onEmojiconClicked(Emojicon emojicon) {
        EmojiconsFragment.input(edMessage, emojicon);
    }

}

请告诉我如何处理这个问题。当我从库提供的表情符号列表中选择一个表情符号'com.rockerhieu.emojicon:library:1.3.3'时,它会在视图中被更改我该怎么办才能解决这个问题?

1 个答案:

答案 0 :(得分:1)

那些是android默认值,你在输入时看到,使用emoji就像它们一样,你需要通过映射所有的png文件创建自己的实现,看看 Madhur's example他已经实施了类似应用程序的Whatsapp(旧版非材质),供初学者学习。 enter image description here