2

在 RelativeLayout 我有两个 TextViews 在同一行上对齐:第一个与左侧对齐,第二个与右侧对齐。仅当第一个 texview 太长时,如何才能将第二个 TextView 移动到“新行”中?

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

这是截图

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

这是我的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。

任何想法?

4

3 回答 3

2
<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" />
于 2013-03-01T15:28:57.920 回答
0

考虑为布局的文本部分实施 FlowLayout(或使用其他人在此处制作的)。

于 2013-03-01T15:31:18.827 回答
0

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

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

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

于 2014-08-15T13:44:09.327 回答