4

私のアプリには、テキストと写真を表示する画面があります。テキストの長さは可変です (まったくない場合もあれば、かなり長い場合もあります)。そのため、テキストが数行しか占有しないように (ただしスクロールは可能)、下の画像に十分なスペースを残すように設定したかったのです。

この部分のビュー コンポーネントはプログラムで作成され、次のようにコードを調整しました (現在はテキスト設定メソッドにありますが、最初のビュー作成コードにある場合も同じことが起こります)。

public void SetDescription(String description)
{
    mTxtDescription.setText(Html.fromHtml(description));
    mTxtDescription.setClickable(true);
    mTxtDescription.setMaxLines(5);
    mTxtDescription.setLines(5); //this makes no difference either!
    mTxtDescription.setSingleLine(false);
    mTxtDescription.setScrollbarFadingEnabled(true);
    mTxtDescription.setScrollBarStyle(VERTICAL);
    mTxtDescription.setMovementMethod(ScrollingMovementMethod.getInstance());
    mTxtDescription.invalidate(); //adding this made no difference...
}

ただし、機能しません。長いテキストがまだ画面全体に表示され、高さが 0 まで押し下げられたために画像が消えてしまいました。テキストが 5 行を超えないようにするにはどうすればよいですか?

4

3 に答える 3

4

への呼び出しを削除してみてくださいsetSingleLine。そして使用しますsetInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE)。また、確実にするために、この呼び出しをsetMaxLinesand呼び出しの前に置きます。setLines

注:とsetLinesの設定をオーバーライドします。setMaxLinessetMinLines

にはTextView、複数、楕円などを表示する方法のさまざまな呼び出しに関する多くの問題があります。

于 2012-07-10T08:02:44.213 に答える
0

The below code is working fine for me

   txt = (TextView)findViewById(R.id.textview);
   txt.setMaxLines(5);
   txt.setMovementMethod(new ScrollingMovementMethod());

   txt.setScrollContainer(true);
   txt.setText("Example Text");
   txt.setTextColor(Color.WHITE);
   txt.setScrollbarFadingEnabled(true);

in xml inside textview

   android:scrollbars="vertical"
于 2012-07-10T08:14:26.833 に答える