スクロール可能な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番目のコンポーネントがあり、それを削除すると機能したので、回避策が見つかります。ありがとうございました !
次のように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>
必要に応じてプロパティを設定します
IDでテキストビューを検索します。
TextView myTextBox=(TextView)findViewById(R.id.textBox);
SetMaxLines関数を使用して、必要な行数、たとえば20を割り当てます。
myTextBox.setMaxLines(20);
これにより、テキストボックスは20行のみに表示されます。
<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>
singlelineプロパティをfalseに設定してみてください。動作するかどうかを確認してください。
私は受け入れられた答えなどで言ったように試しましたが、私のために働いていませんでしたが、Android:ellipsize="Marquee"
を追加した後、それは今働いています。