- From: HawkeyesAngel <hawkeyes0@hotmail.com>
- Date: Fri, 27 Mar 2015 09:14:03 +0800
- To: 锦江 赵 <zhaojinjiang@me.com>, "Kang-Hao (Kenny) Lu(吕康豪)" <lvkanghao@genomics.cn>
- CC: W3C HTML5 中文興趣小組 <public-html-ig-zh@w3.org>
- Message-ID: <BLU406-EAS432526DAD05D8DA44CE3ECDE0090@phx.gbl>
液晶的显示晶格即使做得再小也是方形的,这就是个致命问题。 发自我的 Windows Phone ________________________________ 发件人: 锦江 赵<mailto:zhaojinjiang@me.com> 发送时间: 2015/3/27 8:29 收件人: Kang-Hao (Kenny) Lu(吕康豪)<mailto:lvkanghao@genomics.cn> 抄送: W3C HTML5 中文興趣小組<mailto:public-html-ig-zh@w3.org> 主题: Re: 圆角屏幕(例:手表)的锁屏问题 圆形屏幕和圆角屏幕相比确实已经完全不能跟矩形屏幕相提并论了 我分享一些自己想到的: 1. 从现有的实现方式上看,这似乎更像是 device-orientation[1] + rotate[2] 做的事情 2. “360度”的方向会涉及到一个灵敏度的问题,得有个最小精度或降噪方法,不然屏幕总是在微微晃动。感觉 4 个方向的 screen-orientation 是不麻烦的,但“360度”就会面对这个问题,不同的使用场景可能灵敏度需求还不一样,甚至需要可配置 3. 还有一点是屏幕就算是圆形的,但目前显示原理在物理上还是有横竖 2 个方向的吧 (我不懂硬件乱猜测的) 4. 所以真的适合从 screen-orientation 下手么?还是大方交给上层 js 处理 device-orientation + rotate 就好呢? [1] http://www.w3.org/TR/orientation-event/ [2] http://dev.w3.org/csswg/css-transforms/#funcdef-rotate 以上 赵锦江 2015年3月27日 上午07:42,"Kang-Hao (Kenny) Lu(吕康豪)" <lvkanghao@genomics.cn> 写道: 昨天兴趣小组电话会议 Bobby 提到了很有意思的《CSS 圆角屏幕》[1]提案,用来处 理屏幕是圆的或是有圆角的。 但是比起 CSS 的问题,其实对于圆形屏幕我反而比较在意锁屏的问题。对于完全 圆形而不是圆角方形的屏幕,感觉一个比较有趣的地方是他可以显示 360 度上任 何一个角度,而不只是方形的 0、90、180、270 四个角度。 普及一下 [Screen Orientation] 规范[2],在他的模型里面的 “锁屏” 意思是让 屏幕的显示角度限制在某个角度 **集合** 里,比如说 lock("portrait") 是竖的 两个角度或是一个(取决于系统允许不允许正反两边翻),lock("protrait- primary") 是一个竖的角度。另外,有一个特殊的值 "any",是指 0、90、180、 270 四个角度。请注意这里提 “集合” 的重要性。然后他说解锁的意思是 unlock() = lock(<default-orientation>) ,其中 <default-orientation> 也是系统决定,虽然我们都知道这里大部分系统 上都是 <default-orientation> = "any"。 圆形屏幕上应该怎么办呢?这里分成四个问题容易思考一点: 1. 圆形屏幕上的 <default-orientation> 到底该是四个角度还是 360 度全部? 这个既然规范已经说是系统决定了,剩下就是喜好问题了。貌似 Apple Watch 没 有圆形屏幕,只有圆角的,可惜了,不能作为参考。 2. 假设在某圆形显示上 <default-orientation> 是所有角度,需要有一个值代表 四个角度(例:"four-sides")么? 如果 <default-orientation> 是所有角度,代表这个手表每转一点显示就跟着重 力动或是什么的,有一个值 "four-sides" 可能有帮助阅读,不会滑来滑去的? 3. 假设在某圆形显示上 <default-orientation> 是四个角度,需要有一个值代表 所有角度么(例:"360")么? 就可以 lock("360") 让画面跟随重力转动。虽然这个操作比较像是 “解锁” 不是 “锁屏”,可能 API 使用上感觉比较奇怪。或许变成 unlock("360") 比较好,最后 变成 lock/unlock 在吃一个参数的时候,是同一个函数。 4. "any" 在圆形显示上到底该指四个角度还是 360 度? 我是觉得干脆应该在现在的规范直接把这个值重新命名成 "four-sides" 之类的, 以免造成以后这里的问题,或是现在先那掉 "any" 算了,反正在大多数系统 <default-orientation> = "any" 的情况下,lock("any") 也没必要存在(因为跟 unlock() 一样),况且也跟 lock("360") 一样感觉很奇怪。 有比较好的 API 设计么? CSS 那边我反而没什么想法了,除了觉得[1] 'device-radius' 对于圆形显示需要 'device-radius < 50%' 什么的很麻烦,还不如 'device-shape: circle',不过 Apple Watch 也没圆形屏幕,只有圆角的,或许想多了。不过话说回来,如果圆角 比圆形常见很多,极坐标 'polar-*' 的新元素定位提案也没什么用了吧? 'border-boundary' 这种要多花时间想想,暂时没什么时间了。 之前 CSSWG 讨论这个规范的记录在[3],有兴趣的可以看看。 [1] http://dev.w3.org/csswg/css-round-display/ [2] https://w3c.github.io/screen-orientation/ [3] https://lists.w3.org/Archives/Public/www-style/2015Mar/0313 以上 吕康豪 -- Software Engineer, Shenzhen, BGI
Received on Friday, 27 March 2015 01:14:31 UTC