一次向用户显示一个屏幕(或允许他自由滚动)系统将始终具有变量:
顶线可见。屏幕中可见的线条。总行数。
告诉用户文本进展情况的最佳方法是什么?
如果系统使用第1行作为0%topLine * 100 / totalLines
,那么在文本末尾,它将是< 100%,例如97.5%
如果系统在屏幕(topLine + linesVisible) * 100 / totalLines
中占据可见线,则会从> 0%开始,例如11%
如果系统使用曲线从0%开始并以100%结束,则每次他切换设备或调整字体/屏幕大小时,百分比都会改变。
这个问题有共同的模式吗?
答案 0 :(得分:1)
我认为不会有这种共同模式。该任务是特定于设备和特定于应用程序的。
当用户更改字体或字体大小时,您应该计算所有三个变量top line visible
,lines visible in the screen
和total lines
。当用户仅滚动top line visible
时,应计算lines visible in the screen
。
了解MS Word甚至亚马逊Kindle如何处理此问题。当您在滚动上按住鼠标时,MS Word会显示进度。而亚马逊Kindle则在页面底部显示进度。 它们都显示页面的页码或百分比而不是行,但它们的方法也适用于行。
此外,如果您的文档不是很大,那么将浮点数显示为进度也不会令人愉快。在这种情况下,舍入百分比就可以了。