Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 如何正确告知用户阅读进度_Algorithm_Design Patterns_User Interface_User Experience - Fatal编程技术网

Algorithm 如何正确告知用户阅读进度

Algorithm 如何正确告知用户阅读进度,algorithm,design-patterns,user-interface,user-experience,Algorithm,Design Patterns,User Interface,User Experience,每次向用户显示一个屏幕(或允许用户自由滚动),系统将始终具有以下变量: 顶行可见。屏幕上可见的线条。总行数 在文本中告诉用户其进度的最佳方法是什么 如果系统使用第1行作为0%topLine*100/totalines,则在文本末尾,它将是0%,例如11% 如果系统使用从0%开始到100%结束的曲线,每次他切换设备或调整字体/屏幕大小时,百分比都会改变 这个问题有共同的模式吗?我不认为会有共同的模式。该任务是特定于设备和应用程序的 当用户更改字体或字体大小时,您应该计算所有三个变量顶行可见,屏幕可

每次向用户显示一个屏幕(或允许用户自由滚动),系统将始终具有以下变量:

顶行可见。屏幕上可见的线条。总行数

在文本中告诉用户其进度的最佳方法是什么

如果系统使用第1行作为0%
topLine*100/totalines
,则在文本末尾,它将是0%,例如11%

如果系统使用从0%开始到100%结束的曲线,每次他切换设备或调整字体/屏幕大小时,百分比都会改变


这个问题有共同的模式吗?

我不认为会有共同的模式。该任务是特定于设备和应用程序的

当用户更改字体或字体大小时,您应该计算所有三个变量
顶行可见
屏幕可见行
总行数
。当用户仅滚动
顶行可见时
,屏幕中可见的
行应计数

看看微软Word甚至亚马逊Kindle是如何处理这个问题的。按住鼠标滚动时,MS Word会显示进度。亚马逊Kindle在页面底部显示了进度。 它们都显示页码或页面百分比,而不是行,但它们的方法也可以应用于行


另外,如果您的文档不是非常大,那么在进度中显示浮点数也不是一件愉快的事情。在这种情况下,四舍五入的百分比就可以了。

您正在开发什么应用程序?您是对的。这是无法解决的。将只将%视为UI元素,并在页面大小更改时更改它。