1

2 つの TextView を同じ行に表示するレイアウトがあります。

TextView1 が短いテキストの場合、TextView2 は TextView1(IMAGE1) のすぐ右にある必要があり、TextView1 が長いテキストの場合、TextView2 は同じ行 (IMAGE2) のレイアウトの右隅にある必要があります。

ここに画像の説明を入力

どうすればこれを達成できますか?

4

4 に答える 4

1

私は android:layout_weight 属性を持つ単純な水平方向の LinearLayout を使用し、それはあなたが望むように機能しました。例:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" 
android:orientation="horizontal">

<TextView
    android:id="@+id/text1"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:text="teeeeeeeext1"/>

<TextView
    android:id="@+id/text2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="text2"/>
</LinearLayout>
于 2012-04-25T10:03:15.270 に答える
0

このようなレイアウトを使用してください。

      <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/relativeLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true" >

        <requestFocus />
    </EditText>

    <EditText
        android:id="@+id/editText2"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="38dp"
        android:layout_toRightOf="@+id/editText1" />

</RelativeLayout>

edittext 1は、edittext2をその右側にプッシュします...その中のテキストに依存します。

于 2012-04-25T09:53:21.540 に答える
0

android:maxWidth最初のテキストビューのプロパティを設定できます。したがって、レイアウトは次のようになります。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:maxWidth="200dp"
    android:text="sdfksdofsdfsdfsdfsadfgwagrswargweqrgeqrgqwergeqrgeqrg"
    />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@+id/textView1"
    android:text="text2"
    />

于 2012-04-25T09:54:11.150 に答える
0

編集:

どうやらあなたの質問を読み間違えた (または完全に読んでいなかった) ようです。私の答えを気にしないでください-私はmxyに投票します:)

前回同じ問題が発生したときは、簡単な解決策を見つけることもハッキングすることもできませんでした。ピクセルを数えることはオプションではありませんでした (少なくとも私にとってはそうではありませんでした)。しかし、最終的に同じ表示概念につながる回避策を見つけました。それはSpannableStringBuilderを使用することでした。

異なる色 (またはサイズ、スタイル、または書体) を持たせたいため、2 つの異なる TextView が必要であると想定しています。アイデアは、全体に単一の TextView を使用し、ビューで行う前に SpannableString を準備することsetTextです。

ForegroundColorSpan、TextAppearanceSpan などの組み合わせを使用することで、単一の TextView を異なるスタイルの異なる TextView のように見せ、並べて配置し、必要に応じて次の行に折り返すことができます。

リンク:

実行時のフォント色の設定

TextAppearanceSpan サンプル

于 2012-04-25T09:59:30.043 に答える