2017-02-19 7 views
0

enter image description hereAndroidのロングテキストを作成する方法はありますか?

です長いテキストの一部の行を緩やかな色にする方法はありますか?

+0

はtextviewのテキストが固定されているか、その動的なので変更されませんか? – Deepesh

+0

デフォルトの方法はありませんが、TextViewのダイナミックで最大行を定義することで、簡単にこのようなものを実装できます。 –

+0

簡単な方法ですが、それを行う最善の方法ではなく、透明な画像を取り、テキストビューの上に置きます。ユーザーがもっと読むボタンをクリックした後、その可視性がなくなったとき – Redman

答えて

0

私はあなたがテキストの長さが異なります意味ソリューション

私はあなたのテキストは本質的に動的であることを仮定しているを書くのではなく、解決策を考え出すために必要なすべてのヒントを与えています。あなたのテキストを設定して、すべての

まず、あなたはあなたに、できるだけ早く、constant

// here for example, you want to show 5 lines along with read more button 
private static final int DEFAULT_DESCRIPTION_LINES_PORTRAIT = 5; 

Now]ボタン(続きを読むと一緒に)最初に表示するには、最大行数を提供し、あなたのクラスで定義されていますテキストの行数が5未満であるかどうかを確認してください。 5未満の場合は、read moreボタンを表示する必要はありません。それが5以上の場合は、そのTextViewmaxLinesをデフォルトの行に設定します。また、あなたが今

textView.setMaxLines(DEFAULT_DESCRIPTION_LINES_PORTRAIT); 
readMorebutton.setVisibility(View.VISIBLE); 

read moreボタンを表示させるよ、あなたは単にそのボタンのいずれかdefaultまたはactual行カウントするたびにユーザーのプレスにmaxLinesを切り替えます。それに伴い、readMoreButtonの可視性はgonevisibleにそれぞれなります。

また、あなたがあなたがtextivew..getLineCount();を呼び出すたび、あなたは正しい値を取得します確認しているように、そのTextViewpostrunnableを実行したい場合がありますので、TextViewレイアウトインフレ率は、時間がかかる可能性があるかもしれません。

buttonの上にその勾配について、あなたは単に垂直LinearLayout中(グラデーションの背景を持っているでしょう)、その上にfull width眺めとともにbuttonことを有​​することができます。

こちらがお役に立てば幸いです。

関連する問題