web-dev-qa-db-ja.com

TextViewの行数を制限する

スクロール可能なtextViewがあり、表示される行数を制限したいのですが、xmlプロパティが機能しません:

<TextView
   Android:id="@+id/tv_addesc"
   Android:layout_width="match_parent"
   Android:layout_height="wrap_content"
   Android:scrollbars="vertical"
   Android:maxLines="12"
   Android:textColor="#FFFFFFFF"
   Android:textSize="15sp" />

表示される行数は50行で、テキストには900文字が含まれています。

表示する行数を制限してスクロール可能にするにはどうすればよいですか?

編集:846行と15824文字でテストしました。異なるプロパティセットに関係なく、テキスト全体が表示されます。

編集:textViewのほかに2番目のコンポーネントがあり、それを削除すると機能したので、回避策が見つかります。ありがとうございました !

41
Jerec TheSith

次のようにTextViewにいくつかの行を設定する必要があります。

Android:maxLines = "10"

以下も追加する必要があります。

Android:minLines="1"

スクロールを使用していない場合、この残りは不要です

そして、このTextViewが垂直にスクロール可能であるべきだと言うプロパティ:

Android:scrollbars = "vertical"

そして、あなたのJavaコードで:

yourTextView.setMovementMethod(new ScrollingMovementMethod())

テキストビューをスクロールビューに配置し、スクロールビューの高さを固定します。

<ScrollView
    Android:id="@+id/scrollView1"
    Android:layout_width="fill_parent"
    Android:layout_height="120dip" >

    <TextView
        Android:id="@+id/tv_addesc"
        Android:layout_width="fill_parent"
        Android:layout_height="wrap_content"
        Android:maxLines="12"
        Android:scrollbars="vertical"
        Android:textColor="#FFFFFFFF"
        Android:textSize="15sp" />
</ScrollView>

必要に応じてプロパティを設定します

2

IDでテキストビューを検索します。

TextView myTextBox=(TextView)findViewById(R.id.textBox);

SetMaxLines関数を使用して、必要な行数、たとえば20を割り当てます。

myTextBox.setMaxLines(20);

これにより、テキストボックスは20行のみに表示されます。

2
kapilgm
<ScrollView
Android:id="@+id/scrollView1"
Android:layout_width="fill_parent"
Android:layout_height="120dip" >

<TextView
    Android:id="@+id/tv_addesc"
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content"
    Android:maxLines="12"
    Android:scrollbars="vertical"
    Android:textColor="#FFFFFFFF"
    Android:textSize="15sp" />
 </ScrollView>
2
Rauf

singlelineプロパティをfalseに設定してみてください。動作するかどうかを確認してください。

1
bostan

私は受け入れられた答えなどで言ったように試しましたが、私のために働いていませんでしたが、Android:ellipsize="Marquee"を追加した後、それは今働いています。

0
Shylendra Madda