如何在我的应用程序中创建此类聊天布局?

时间:2012-05-14 07:36:27

标签: android xml android-layout chat

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

Chat Screen layout

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

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

4 个答案:

答案 0 :(得分:7)

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

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

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

要获得气泡,您应该将不同的backgroundDrawable(指向左侧和右侧的气泡9个样本)附加到不同的状态。

如果您已经卡在某处,请分享相关的代码段和logcat输出,以便我们为您提供进一步的帮助。

答案 1 :(得分:2)

尝试查看this为listView创建自定义视图。

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

答案 2 :(得分:2)

您需要以下内容:

  1. ListActivity,ListView XML布局。
  2. ListActivity使用的BaseAdapter。
  3. BaseAdapter getView将为每一行充气。
  4. 在每一行中都有一行视图,其中包含气泡图像和聊天文字。
  5. 在Listview中,页脚有一个EditText视图来键入聊天。
  6. 使用这些作为参考:

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

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

答案 3 :(得分:1)

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

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

customListview.addNewChat(...);
customListView.smoothScrollToPosition(customListView.getCount());