我使用ListView来实现一个时间轴.我启用了FastScroll并使用了SectionIndexer,以便用户可以拖动滚动条并查看显示的部分文本.
所有这些都是内置的UI的问题.显示部分文本的textview对我来说太小了,我试图显示05pm,对于textview(或其他UI?)来说太长了.
任何更简单的方法来解决这个问题?例如,一种方法我可以设置部分文本或textview布局的字体大小?
谢谢!
解决方法
查看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);
上面的代码实际上将文本绘制在底部图像drawable之上,因此它不会尊重底部drawable的边界,这就是为什么文本实际上溢出而不被切断.至于为什么这样设计呢?我的猜测是,索引功能的意图主要是用于单字符如A,B,C等,因此快速滚动索引功能被设计为适合.
所以,为了给出一个明确的答案你的问题,真的没有办法改变文本大小或改变如何绘制文本,除非您修改AbsListView和FastScroller以满足您的需要.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。