Android ListView快速滚动部分:部分文本太长

我正在使用ListView来实现时间轴。 我启用了FastScroll并使用了SectionIndexer,以便用户可以拖动滚动条并查看显示的部分文本。

问题是所有这些都是内置的用户界面。 显示部分文本的textview对我来说太小了,我想显示05pm,对于textview(或其他UI?)来说太长了。

更简单的方法来解决这个问题? 例如,我可以设置节文本或文本视图布局的字体大小的方法?

谢谢!

启用FastScroll的电影时间线

Solutions Collecting From Web of "Android ListView快速滚动部分:部分文本太长"

通过查看AbsListView的源代码,您可以find处理FastScroller的快速滚动机制的类。 FastScroller实际上是在canvas上绘制图像的可绘制和文本,就像这样提供给AbsListView

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

上面的代码实际上是绘制底部图像上方的文本,所以它不尊重底部绘制的边界,这就是为什么文本实际上是溢出而没有被切断。 至于为什么这是这样devise的? 我的猜测是,索引function的目的是主要用于单个字符,如A,B,C等…因此快速滚动索引function被devise为适合。

所以,为了给你的问题一个明确的答案, 除非你修改AbsListViewFastScroller以适应你的需要, 否则真的没有办法改变文本大小或者改变文本的绘制方式。