备忘:滚动条设计要点

现实问题以及对设计的影响:

1。 表达的数值范围过大时,画面显示精度不足

       比如纵向滚动条高度100像素,而实际要表达的数值范围是1至10000,则0.01像素代表数值跨度1。

       要知道,显示器最小的显示单位是1像素,如果数值跨度不足100,都不能使像素点移动1个单位,视觉上滚动条没有变化的,即表达的数值和视觉的变化是不匹配的。

       ==〉功能需求上,滚动条位置的绝对精确是没有意义(过剩设计),设计上不需要数学上的严格计算。

      

2。浮点数计算有精度失真问题

       无论什么开发语言,在浮点数计算方面,都存在精度问题。

       ==〉滚动条不需要金融软件那样高精度的设计。


3。显示对象的x、y、width、height的数值精度

      ==〉上述属性是Number类型。Number数值的小数位数可以很多,比如10.123456789。

               但是这些属性是用于在屏幕上显示的属性,屏幕的显示最小单位是像素。那么如果width=10.123456789,代表的将是10.123456789宽度的像素。小数点后面过多的位数对于像素而言无法在屏幕上描绘。因此过多的小数点位数没有存在的意义。所以FlashPlayer将保留小数点2位,其余舍弃。

               这种特性也造成了计算结果的失真。


 设计        

1。当按下按钮(上一条/下一条/上一页/下一页  )时,应根据当前代表的数值和每页代表的数值跨度进行数值的精确计算,然后根据数值对滑块的位置进行不精确的计算。


2。当拖动滑块并释放后,应根据滑块位置计算对应的数值。因为滑块的位置时不精确的,因此计算出来的对应的数值也是非精确的。这是可以被接受的。特别是表达的数值范围很大的时候。 


3。滑块高度的计算

      滑块高度 = 滑竿高度 / 翻页页数 ,然后

      滑块高度 = 向下取整(滑块高度) 或 向上取整(滑块高度)



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值