所以基本上是一个布局,有两个TextView
,它们必须用垂直线分开,最重要的是,它应该保持换行,所以在第三行,消息太长并且被包裹,因此,左边的昵称为它保留一个空行
我尝试在它们之间添加两个TextView
和一个View
:
第一个TextView
称为nicks
,另一个称为messages
缺刻: match_parent
身高,wrap_content
宽度
查看1: match_parent
身高,1dp
宽度,@color/darker_grey
背景
消息: match_parent
身高,0dp
宽度,1
体重
以编程方式:每当推送消息时nicks.append("\n" + theNickToPush);
和messages.append("\n" + theMessageToPush);
然而,当messages
中出现换行时,nicks
没有反映出这一点,并为其保留一个空行,最终会在昵称及其消息之间产生额外的偏移量发生换行。
答案 0 :(得分:1)
您可以使用水平方向的LinearLayout
。这个缺口应该有layout_gravity="top"
。像这样的东西:
<LinearLayout
android:width="match_parent"
android:height="wrap_content"
android:orientation="horizontal">
<!-- The nick -->
<TextView
android:width="wrap_content"
android:height="wrap_content"
android:layout_gravity="top"/>
<View
android:width="1dp"
android:height="match_parent"
android:background:"@color/dark_gray"/>
<!-- The message-->
<TextView
android:width="0dp"
android:height="wrap_content"
android:weight="1"/>
</LinearLayout>
如果你愿意的话,这也很容易扩展到包括时间戳。