Ответ 1
Просматривая исходный код AbsListView
, вы можете найти класс, который обрабатывает механизм быстрой прокрутки, который заканчивается FastScroller
. FastScroller
на самом деле рисует обратимое изображение и текст на холсте, который был предоставлен AbsListView
, например, так...
canvas.drawText(mSectionText, (int) (rectF.left + rectF.right) / 2 - hOff, (int) (rectF.bottom + rectF.top) / 2 + mOverlaySize / 4 - descent - vOff, paint);
Приведенный выше код на самом деле рисует текст поверх нижнего изображения, чтобы он не учитывал границы нижнего рисунка, поэтому текст фактически переполняется и не прерывается. Почему это так спроектировано? Я предполагаю, что намерение функции индекса было главным образом использоваться для одиночных символов, таких как A, B, C и т.д.... и поэтому функция индекса быстрой прокрутки была разработана таким образом, чтобы соответствовать этому.
Итак, чтобы дать определенный ответ на ваш вопрос, на самом деле нет способа изменить размер текста или изменить способ рисования текста , если вы не измените AbsListView
и FastScroller
в соответствии с ваша потребность.