如果另一个文本视图太长,如何在新行中移动textview

时间:2013-03-01 15:22:10

标签: android android-layout textview alignment

在RelativeLayout中,我在同一行上对齐了两个TextView: 第一个与左侧对齐,第二个与右侧对齐。 如果第一个texview太长,我怎么能将第二个TextView转换为“新行”?

这是我的应用程序的屏幕截图:

this is a screenshot http://img812.imageshack.us/img812/3466/chatscreenshot.jpg

在第一种情况下,第一个textview“Something”和第二个(时间)对齐。 在第二种情况下,我想将第二个textview移到第一个。

这是我的xml文件的代码

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="5dip"
android:paddingRight="5dip"
android:paddingTop="5dip"
android:paddingBottom="5dip" >

<ImageView
    android:id="@+id/immagine"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginRight="10dp"
    android:src="@drawable/ic_launcher" />

<TextView
    android:id="@+id/nickTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_toRightOf="@+id/immagine"
    android:text="Nickname"
    android:textSize="14dp" />

<TextView
    android:id="@+id/messaggioTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/nickTextView"
    android:layout_toRightOf="@+id/immagine"
    android:text="Messaggio"
    android:textColor="#333"
    android:textSize="14dp" />

<TextView
    android:id="@+id/oraText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/nickTextView"
    android:layout_alignBottom="@+id/nickTextView"
    android:layout_alignParentRight="true"
    android:text="TextView"
    android:textColor="#999"
    android:textSize="12dip" />

<TextView
    android:id="@+id/dataText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/messaggioTextView"
    android:layout_alignBottom="@+id/messaggioTextView"
    android:layout_alignParentRight="true"
    android:text="TextView"
    android:textColor="#999"
    android:textSize="12dip" />

感兴趣的文本视图是messaggioTextView和oraText。

有什么想法吗?

3 个答案:

答案 0 :(得分:3)

<TextView
    android:id="@+id/messaggioTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toLeftOf="@+id/dataText"
    android:layout_below="@+id/nickTextView"
    android:layout_toRightOf="@+id/immagine"
    android:text="texttextkhgfkdklgfhkldfhghdgkljdlfkjhg;ldf;hhvasdv;svabsab"
    android:textColor="#333"
    android:textSize="14dp" />


<TextView
    android:id="@+id/dataText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/messaggioTextView"
    android:layout_alignParentRight="true"
    android:text="TextView"
    android:textColor="#999"
    android:textSize="12dip" />

答案 1 :(得分:0)

考虑为您的布局的文本部分实现FlowLayout(或使用其他人here)。

答案 2 :(得分:0)

我知道的三种方式,也许存在更好的方式:
1)在Html中加载文本并将其设置为文本视图(您可以使用html样式和...)

String text = "<font color=#cc0029>text 1</font> <font color=#ffcc00>text 2</font>";
textView.setText(Html.fromHtml(text));

2)在一个文本视图中加载文本,但为文本的每个部分设置spannable 3)创建自定义TextView类并计算文本长度然后如果大于您想要在此下面设置另一个textview布局