0

線形レイアウトに 2 つのテキストビューがありました。ある textview ではテキストに 21 文字が含まれ、別の textview ではテキストに 12 文字しか含まれていません。最初の textview は 2 行で表示され、2 番目の textview は 1 行で表示されます。両方のテキストビューのテキストが1行または2行で同じであることを望みます。

次のコードを使用しました。

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp" >

    <TextView
        android:id="@+id/tvtextview1"
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:layout_margin="1dp"
        android:layout_weight="1"
        android:inputType="textMultiLine"
        android:scrollHorizontally="false"
        android:gravity="center"
        android:textColor="#FFFFFF"
        android:textSize="16sp" >
    </TextView>

    <TextView
        android:id="@+id/tvtextview2"
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:layout_margin="1dp"
        android:layout_weight="1"
        android:scrollHorizontally="false"
        android:gravity="center"
        android:inputType="textMultiLine"
        android:textColor="#FFFFFF"
        android:textSize="16sp">
    </TextView>
</LinearLayout>

誰でもこれを解決するのを手伝ってもらえますか? 前もって感謝します。

4

6 に答える 6

3

両方を単一行にしたい場合は、次を使用しますandroid:singleLine="true"

<TextView
    android:layout_margin="10dip"
    android:layout_width="0dip"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:ellipsize="marquee"
    android:marqueeRepeatLimit="marquee_forever"
    android:singleLine="true"
    android:text="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    android:textSize="16sp" />

<TextView
    android:layout_margin="10dip"
    android:layout_width="0dip"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:ellipsize="marquee"
    android:marqueeRepeatLimit="marquee_forever"
    android:singleLine="true"
    android:text="xxxxxxxxxxxxxxxxxxxxxxxx"
    android:textSize="16sp" />

于 2012-12-06T14:37:10.810 に答える
1

android:minLines="2"両方の<TextView>タグを追加します。

于 2012-12-19T08:24:28.873 に答える
0

テキストビューの高さを修正するには、このサンプルコードを試してください

<TextView
    android:id="@+id/tvtextview1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_margin="1dp"
    android:gravity="center"
    android:minHeight="50dp"
    android:singleLine="true"
    android:scrollHorizontally="false"
    android:text="sdfsdfsdfsdfsdsdfsdfsdfsdfsdsdfsdfsdfsdfsdsdfsdfsdfsdfsdsdfsdfsdfsdfsdsdfsdfsdfsdfsdsdfsdfsdfsdfsd"
    android:textSize="16sp" >
</TextView>

<TextView
    android:id="@+id/tvtextview2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_margin="1dp"
    android:gravity="center"
    android:lines="2"
    android:minHeight="50dp"
    android:inputType="textMultiLine"
    android:scrollHorizontally="false"
    android:text="sdfsdfsdfsdfsdsdfsdfsdfsdfsdsdfsdfsdfsdfsdsdfsdfsdfsdfsdsdfsdfsdfsdfsdsdfsdfsdfsdfsdsdfsdfsdfsdfsd"
    android:textSize="16sp" >
</TextView>
于 2012-12-06T14:43:29.217 に答える
0

属性を設定できます:

android:lines="2"
android:maxLines="2"

両方の TextView の

于 2012-12-06T14:40:58.200 に答える
0

画面の幅と 2 つのテキストの最大幅をプログラムで取得します。テキストの幅が画面の幅よりも大きい場合は、TextView行数を 2 に設定してください。それ以外は 1 に。

Paintテキストの幅を計算するために使用します。

    int screenWidth = this.getWindowManager().getDefaultDisplay().getWidth();

    TextView t1 = (TextView) this.findViewById(R.id.tvtextview1);
    TextView t2 = (TextView) this.findViewById(R.id.tvtextview2);

    Paint paint = new Paint();
    String longText = "123456789012345678901";

    paint.setTextSize(30);

    float textWidth = paint.measureText(longText);

    if((int)textWidth > screenWidth)
    {
        t1.setLines(2);
        t2.setLines(2);
    } else
        {
            t1.setLines(2);
            t2.setLines(2);
        }
于 2012-12-06T15:21:01.660 に答える
0
android:singleLine="true"

また、両方のテキストビューの ID がまったく同じです。あなたはそれを変更したいかもしれません。

于 2012-12-06T14:33:32.307 に答える