多行textview,如何实现这种布局

时间:2014-08-18 11:30:10

标签: android android-layout

我正在使用Android应用程序。 我有两个textview,textView1用于显示用户名,textView2用于显示一些多行的单词。

布局如下:

enter image description here

textView2的第二行应与textView1对齐 如何实现这种布局?任何想法都将不胜感激。

编辑1:实际上,我需要一个满足我需求的解决方案,如果需要,您可以使用两个以上的文本视图。

编辑2:Ozi的解决方案确实解决了我的问题,但是如果我将来需要在textView1上绑定一个监听器呢?还有其他解决方案吗?感谢。

4 个答案:

答案 0 :(得分:3)

您可以为所有文字使用1个文本视图。你应该改变黑色部分的风格:

   String blackstring = "<font color='#000000'>black</font>";
   t.setText(Html.fromHtml(blackstring + maintext));

答案 1 :(得分:1)

你可以使用html:

txt.setText(Html.fromHtml(setText("username", "some long text")));  

private String setText(String title, String message) {
    return "<span>" + title + ": </span>$nbsp &nbsp &nbsp" + message;
}  

你也可以设置align = justify。
this link。我认为这是你的问题的答案

答案 2 :(得分:0)

我认为你可以通过将两个文本视图堆叠在一起(一个在另一个上面)来实现这一点,并修复黑色文本视图的宽度。然后,只需在需要为其设置文本时,在红色textview前面添加一些空白区域。

答案 3 :(得分:0)

Try this layout:
<TableLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:stretchColumns="1" >

        <TableRow
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:background="#cecece"
                android:text="TextView"
                android:textColor="#000000" />

            <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:background="#FF0000"
                android:text="TextView"
                android:textColor="#000000" />
        </TableRow>

        <TableRow
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/textView3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_span="2"
                android:background="#FF0000"
                android:text="TextView TextView TextView TextView"
                android:textColor="#000000" />
        </TableRow>
    </TableLayout>