私のアプリには、テキストと写真を表示する画面があります。テキストの長さは可変です (まったくない場合もあれば、かなり長い場合もあります)。そのため、テキストが数行しか占有しないように (ただしスクロールは可能)、下の画像に十分なスペースを残すように設定したかったのです。
この部分のビュー コンポーネントはプログラムで作成され、次のようにコードを調整しました (現在はテキスト設定メソッドにありますが、最初のビュー作成コードにある場合も同じことが起こります)。
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 行を超えないようにするにはどうすればよいですか?