如何在两个TextView之间创建一个分隔符,但保持它们同步以进行换行?

时间:2016-03-06 22:53:08

标签: android xml android-layout layout

这就是我想要的

This is what I want essentially

所以基本上是一个布局,有两个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没有反映出这一点,并为其保留一个空行,最终会在昵称及其消息之间产生额外的偏移量发生换行。

我以后想做什么

My extra approach 如您所见,对于时间戳

,甚至还有一个分隔符

1 个答案:

答案 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>

如果你愿意的话,这也很容易扩展到包括时间戳。