一种手持设备的横竖屏切换旋转控制方法技术

技术编号:7473658 阅读:416 留言:0更新日期:2012-07-03 04:24
本发明专利技术涉及一种手持设备的横竖屏切换旋转控制方法,包括:根据重力感应获取旋转的方向和切换后的角度Фm;冻结屏幕,获取到切换方向后的界面图像;计算所述界面图像的当前角度Фi并显示直至Фi=Фm,其中:Фi=Ф0+(Фn-Ф0)*Ai,Ai=(m-(m-i)*(m-i)/m)/m,m是总的旋转显示次数,i是当前旋转显示次数,1≤i≤m,m、i是自然数,Ai是加速百分比,初始角度Ф0、Фi和Фm同旋转方向;所述显示是手持设备屏幕不动,所述界面图像在所述屏幕表面绕屏幕中心点旋转,所述屏幕只显示旋转的所述界面图像在所述屏幕内的部分;解冻屏幕。这种控制方法,能完美衔接用户旋转动作,给用户逼真的自然体验。

【技术实现步骤摘要】

本专利技术涉及计算机人机交互,具体涉及,尤其是应用在使用智能手机上。
技术介绍
目前,现有移动终端的智能手机只有横竖屏切换功能并没有横竖屏切换中显示切换动画的功能。在屏幕方向改变情况下,有一个切换的动画效果,尤其是在重力感应的情况下有一个自然旋转动画配合用户旋转手机的动作,才不会让用户感觉到界面生硬的效果, 能给用户无限美好体验。但是,目前的手机或其他手持设备在横竖屏切换时都没有一个完美的衔接动画,或者还没有这种技术被公开。
技术实现思路
本专利技术需要解决的技术问题是,如何提供,能配合用户旋转手持设备的动作在设备屏幕上给出一个完美、自然的衔接动画。本专利技术的技术问题这样解决构建,其特征在于,包括以下步骤1. 2)根据重力感应获取旋转的方向和切换方向后的角度Φπι ;1. 3)冻结屏幕,获取到切换方向后的界面图像;1. 4)还原所述界面图像到切换前的角度Φ0显示,再计算所述界面图像的当前角度Φ 并显示直至当前角度Φ 等于角度Φπι,其中Φ = Φ0+(Φη-Φ0) * Ai, Ai = (m-(m-i) * (m-i)/m)/m, m是总的旋转显示次数,i是当前旋转显示次数,1彡i彡m,m、i 是自然数,Ai是加速百分比,Φ0、Φ 和Φπι同旋转方向;所述显示是手持设备屏幕不动,所述界面图像在所述屏幕表面绕屏幕中心点旋转,所述屏幕只显示旋转的所述界面图像在所述屏幕内的部分;1. 5)解冻屏幕。按照本专利技术提供的控制方法,还包括步骤1. 1)接收到横竖屏切换消息判断是否是重力感应方式,是则进入步骤1. 2)。按照本专利技术提供的控制方法,所述步骤1. 1)还包括判断不是重力感应方式,则显示切换方向后的界面图像,跳过步骤1. 2) 1. 5)直接结束。按照本专利技术提供的控制方法,根据重力感应判断Φπι与Φ0重合,跳过步骤 1.3) 1.5)直接结束。按照本专利技术提供的控制方法,切换前的角度Φ0 = 0°,切换方向后的角度Φπι = 90° ,180° 或 270° 。按照本专利技术提供的控制方法,若Φπι = 90°、!Ii = N,则当Φπι= 180°,m = 2N,其中N是大于2的自然数。按照本专利技术提供的控制方法,若Φπι = 90°、m = N,则当Φπι = 270°,m = 3N,其中N是大于2的自然数。按照本专利技术提供的控制方法,N优选15。按照本专利技术提供的控制方法,所述步骤1. 4)中采用双显存,分别存储当前旋转的界面图像和下一次旋转的界面图像,轮流调用。按照本专利技术提供的控制方法,所述双显存是逻辑内存,所述轮流调用是在双显存之间切换当前显存地址。本专利技术提供的手持设备的横竖屏切换旋转控制方法,能根据用户旋转手机的动作显示动态旋转的界面,较现有技术具有以下优点1、能完美衔接用户动作,给用户以自然的实体感应;2、冻结屏幕,使界面内的图标等不会随界面改变而改变大小和布局,从而造成旋转过程中内部图像混乱的视觉,使图像自然旋转;3、90°、180°、270°或其他旋转,速度都一致,给用户类同的体验;4、双显存处理,使动画切换更流畅,动态连续显示效果更好。附图说明下面结合附图和具体实施例进一步对本专利技术进行详细说明图1是本专利技术横竖屏切换旋转控制流程示意图;图2是函数y = 1-χ * χ的图形坐标示意图;图3是本专利技术具体实施例的手机中横竖屏切换流程示意图;图4是图3中旋转动画子流程示意图;图5是本专利技术具体实施例的手机中安卓(Android)平台下SurfaceFlinger服务的框架结构示意图;图6是图5所示SurfaceFlinger服务的处理流程示意图;图7是本专利技术具体实施例手机中安卓(Android)平台下将图像显示到屏幕上的数据结构关系示意图;图8是图5所示SurfaceFinger客户端和服务端对象关系示意图;图9是客户端与SurfaceFlinger连接示意图;图10是客户对象交互示意图;图11是服务端交互示意图;图12是客户端交互示意图。具体实施例方式首先,说明本专利技术控制方法和原理(一 )控制程序如图1所示,本专利技术的横竖屏切换旋转控制流程,具体包括以下步骤101)根据重力感应判断屏幕方向是否变化?是,进入下一步,否则返回步骤 101);102)冻结屏幕;103)界面布局,获取到切换方向后界面的图像;104)根据获取到的图像以及切换的角度和方向播放旋转动画;该播放旋转动画子流程具体如图3所示;105)解冻屏幕(显示屏幕切换后图像)。(二)动画原理2. 1)判断屏幕方向是否改变每次屏幕方向改变的时候会记录当前的方向,当下一次屏幕方向变化的时候可以与上一次的方向做对比,可以知道是否旋转了屏幕,也可以知道旋转的方向,是90° 0° (右侧到中间),270° 360° (左侧到中间),180° 360° (右侧到左侧),-90° 0° (中间到左侧),450° 360° (中间到右侧),450° 270° (左侧到右侧)2.2)根据改变的方向播放相应的旋转动画从上面2. 1)可以看出旋转有旋转90°,有的旋转180°,为了让90°和180°旋转的速度一致就让180°的旋转次数是90°旋转次数的两倍。这里规定90°旋转次数为 15次,180°旋转次数为30次。该旋转采用加速旋转算法当前度数=开始度数+(结束度数-开始度数)*加速百分比加速百分比是随着次数的增大而增大,范围在0 1之间,开始的时候等于0,即当前度数=开始度数当加速百分比=1时候当前度数=结束度数加速百分比=(总的旋转次数_(总的旋转次数_当前旋转次数)* (总的旋转次数_当前旋转次数)/总的旋转次数)/总的旋转次数当前旋转次数每次加1加速百分比是利用了函数y = 1-χ * χ改造而来的变量χ的范围在1 0之间,当这样函数y的范围就在0 1之间如图2所示,函数y = 1-χ女χ这种抛物线当χ > 0,随着χ值越大,它的斜率也越大,速度就越快。第二,结合本专利技术方法在手机中的应用进一步详细说明如图3所示,本专利技术具体实施例的手机中横竖屏切换控制流程,具体包括以下步骤301)操作系统接收到横竖屏切换消息;302)操作系统冻结屏幕和窗口 ;303)界面布局,获取到切换方向后界面的图像;304)操作系统发送解冻屏幕消息;305)判断横竖屏切换消息是否是使用重力感应方式?是进入下一步,否则直接进入步骤307);306)调用播放旋转动画子程序;307)解冻屏幕(显示屏幕切换后图像)。其中,步骤306)中的播放旋转动画子程序,具体步骤如图4所示,包括以下步骤401)根据重力感应结果和程序定义初始化开始的度数、结束的度数和旋转的次数 (=0);5402)判断当前旋转次数<总的旋转次数?是进入下一步,否则进入步骤4);403)计算应该旋转的当前度数;404)根据当前度数显示对应画面;405)旋转次数加1,返回步骤402);406)旋转结束。第三,结合本专利技术方法在手机中应用的具体实施例在Android平台下的实现再进一步详细说明,包括三大部分,其中第一部分)判断旋转动画播放的时机旋转动画的播放是在手机屏幕切换的时候播放的,但不包括手机键盘打开时的横竖屏切换状态。手机横竖屏切换包括重力感应器和手机侧滑键,通过分别接受重力感应器响应和侧滑键的消息来触发横竖屏切换本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:曾元清
申请(专利权)人:广东欧珀移动通信有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术