Android中聊天应用的布局

时间:2013-11-01 18:33:21

标签: android xml layout chat

我正在为Android聊天,我需要制作一个主要的xml布局。 将有一个TextView来显示历史记录,EditText和Send Button。所有视图都应该像whatsapp一样定位。屏幕底部的EditText和Button。剩下的空间转到TextView。 那怎么可能做到这一点,所以它在任何屏幕和任何方向都会很好看? 我尝试用android:layout_weight来做,但我不认为它会非常便携。 提前谢谢。

2 个答案:

答案 0 :(得分:2)

我认为单个TextView不是实现此目的的最佳方式。

我建议使用ListView而不是巨大的TextView来保存整个会话历史记录。 ListView中的每个元素都将包含一个TextView和任何其他所需的视图,以显示历史记录中的每条消息,默认情况下,它将允许向上和向下滚动以查看整个历史记录。然后,您可以调整文本大小以处理不同的屏幕尺寸。

这是默认的Android Messaging应用程序的实现方式,但您可以自定义ListView中的每个项目,使其看起来如您所愿(例如WhatsApp)。

希望这有帮助。

答案 1 :(得分:1)

  

因为layout_weight设置了比例,但我的editText / Button的高度是固定的

所以?不要将android:layout_weight放在固定部分上。

  

因此,对于不同的屏幕尺寸,将给予它们不同的高度,留下一些空间。

然后不要将android:layout_weight放在固定部分上。你用锤子击打自己的头部,然后抱怨你的头疼。

步骤1:垂直LinearLayout

步骤2:TextView内的成绩单LinearLayout,高度为0,权重为1.

步骤3:EditTextButton(水平LinearLayout?),在垂直LinearLayout内,高度为wrap_content且不指定的重量(默认为0)。

高度为wrap_content的固定高度的东西会获得像素分配,而你的成绩单TextView将获得所有剩余的像素,由于它的权重为1。

我也回应了physphil的建议,即在成绩单模式中使用ListView作为聊天记录,而不是TextView