2012-10-26 18 views
10

私はタイムラインを実装するためにListViewを使用しています。 FastScrollを有効にしてSectionIndexerを使用して、ユーザーがスクロールバーをドラッグしてセクションテキストを表示できるようにしました。Android ListViewセクション付き高速スクロール:セクションテキストが長すぎます

問題はすべて組み込みUIです。セクションテキストを表示するテキストビューは私にとっては小さすぎます。私は05pmを表示しようとしていますが、テキストビュー(または他のUI?)では長すぎます。

これを解決する簡単な方法はありますか?たとえば、セクションテキストまたはテキストビューレイアウトのフォントサイズを設定する方法はありますか?

ありがとうございます!

Movie Timeline with FastScroll enabled

+0

ここに同じ問題があります。私が見つけることができるのは、トーストメッセージを表示するカスタム高速スクロールの実装です。確かにフォントサイズを減らす方法が必要です。 – Praveen

+0

offtopicですが、太字のフォントにはどのようなフォントを使用していますか? ontopic:私は専門家ではありませんが、ファストスクローラーはビューであると推測しています。そのため、それを膨らませてからテキストビューを変更する方法が必要です。 –

+0

@EvanR。 "太字のフォントにはどんなフォントを使用していますか?"それは単に黒で普通のフォントです。大胆で大きなサイズ。 –

答えて

1

AbsListViewのためのソースコードを見ると、あなたはFastScrollerをされて終わるの高速スクロール機構を処理するクラスを見つけることができます。 FastScrollerは、実際にそれが境界を尊重しないように、実際に上記のコードはボトム画像描画可能の上にテキストを描画

canvas.drawText(mSectionText, (int) (rectF.left + rectF.right)/2 - hOff, (int) (rectF.bottom + rectF.top)/2 + mOverlaySize/4 - descent - vOff, paint); 

画像描画可能などのようなAbsListViewに提供されたキャンバス上にテキストを描画します...テキストが実際にあふれていて、カットされていないのはこのためです。これはなぜこのように設計されているのですか?私の推測では、インデックス機能の意図は主にA、B、Cなどの単一文字に使用されていたため、高速スクロールインデックス機能はそれに合わせて設計されています。だから、

は、あなたの質問に明確な答えを与えるために、実際に文字サイズを変更したり、テキストはあなたが AbsListViewFastScrollerがあなたのニーズに合わせて変更 ない限り、描かれている方法を変更する方法はありません。

関連する問題