3

我正在开发一个聊天应用程序,我想创建一个聊天屏幕布局,如以下屏幕。

聊天屏幕布局

目前我正在为我的聊天文本使用 ListView,但问题是要阅读我必须向下滚动的长聊天,我的屏幕不会自动滚动。

我想要这种气泡式的聊天布局。如何开发这种聊天布局?

4

4 回答 4

7

您在这里需要的是一个带有页眉和页脚部分的布局,主视图为ListView.

ListView应该有一个自定义Adapter来显示消息项。

要实现这种类似气泡的显示,您的 itemRenderer 应该能够处理状态 ( fromMe- fromOther)。

要拥有气泡,您应该将不同的backgroundDrawable(指向左侧和右侧的气泡 9 补丁)附加到不同的状态。

如果您卡在某个地方,请分享相关的代码片段和 logcat 输出,以便我们进一步帮助您。

于 2012-05-14T07:48:13.520 回答
2

尝试查看内容以创建 listView 的自定义视图。

我会创建一个父视图和一个传入的视图和一个从它继承的传出视图,并根据它们的颜色和重力改变颜色和重力。

于 2012-05-14T07:39:43.570 回答
2

您需要以下内容:

  1. 一个 ListActivity,ListView XML 布局。
  2. ListActivity 使用的 BaseAdapter。
  3. BaseAdapter getView 将膨胀每一行。
  4. 在每一行都有一个带有气泡图像和聊天文本的行视图。
  5. 在 Listview 页脚有一个 EditText 视图来键入聊天。

使用这些作为参考:

http://developer.android.com/reference/android/app/ListActivity.html

http://developer.android.com/reference/android/widget/BaseAdapter.html

于 2012-05-14T07:45:21.700 回答
1

好的,如果我理解正确,您需要做的就是为 Listview 实现自动滚动。

如果是这样,那么smoothScrollToPosition每次添加某些内容时尝试调用。我不知道你的课是什么样子,但也许可以运行这样的东西(伪代码)

customListview.addNewChat(...);
customListView.smoothScrollToPosition(customListView.getCount());
于 2012-05-14T07:53:03.970 回答