2

RelativeLayout では、同じ行に 2 つの TextView が配置されています。1 つ目は左に配置され、2 つ目は右に配置されます。最初のtexviewが長すぎる場合にのみ、2番目のTextViewを「新しい行」に移動するにはどうすればよいですか?

ここに私のアプリケーションのスクリーンショットがあります:

これはスクリーンショットです

最初のケースでは、最初の textview "Something" と 2 番目 (時間) が整列されます。2 番目のケースでは、2 番目のテキストビューを最初のテキストビューの下に移動したいと思います。

これが私の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

私が知っている3つの方法、おそらくより良い方法が存在します:
1)テキストをHtmlにロードし、テキストビューに設定します(htmlスタイルを使用できます...)

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

2) テキストを 1 つのテキスト ビューに読み込みますが、テキストの各部分にスパン可能に設定します。
3) カスタム TextView クラスを作成し、テキストの長さを計算します。それよりも大きい場合は、この下に別のテキストビュー レイアウトを設定します。

于 2014-08-15T13:44:09.327 に答える