我正在寻找一种在我的应用程序中实现聊天的方法。我已经实现了一种获取传入消息和传出消息的方法。所以我唯一的问题是如何为聊天创建布局。但我真的想不通。看了之后,我发现了一个看起来像聊天的布局(http://code.google.com/p/simple-android-instant-messaging-application/source/browse/trunk/res/layout/messaging_screen.xml?r =6 ):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:padding="10dip"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<!--
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dip"
android:text="Friend:"
/>
<EditText android:id="@+id/friendUserName"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:singleLine="true"
android:editable="false" />
-->
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dip"
android:text="Messages:"/>
<EditText android:id="@+id/messageHistory"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:layout_weight="1"
android:editable="false"
android:gravity="top"
android:scrollbars="vertical"
android:scrollbarSize="10px"
/>
<LinearLayout android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="4">
<EditText android:id="@+id/message"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="top"
android:layout_weight="1"
/>
<Button android:id="@+id/sendMessageButton"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="4"
android:text="Send"/>
</LinearLayout>
</LinearLayout>
我不知道我是否以错误的方式使用它,但每条传入的消息总是出现在同一个文本视图中,用新的传入消息覆盖之前的消息。我想可能我需要为 JAVA 方面做更多的事情。
换句话说,我想要的是消息看起来可滚动的地方,并且每条到达的新消息都应该出现在右侧,并且一个接一个。传出消息应出现在左侧。我说的当然是 iPhone 等中 SMS 应用程序的外观。
我不明白该怎么做。如果有人知道一种解决方法,或者任何关于如何实现它的信息,那将是非常受欢迎的。