Android移动应用触摸屏的实现和优明陞化方案

  是一个绽放、完备、免费的手机平台,壮健的开源个性吸引了越来越众的开荒者,的版本今朝已由最初的1.1 升级到最新的4.0,成效越来越壮健,用户体验越来越好,正在Android 平台上揭橥的

  Android 平台上的操纵越来越众,人们对操纵的请求越来越高。现阶段触屏手机是趋向,触摸是人们与操纵交互的主流方法,人们对触摸的圆活度,简陋性和利便度请求越来越高,有需要优化操纵的触摸成就。

  寻常而言,事情是用户与UI(图形界面)实行交互的时期所触发的操作。比方正在手机屏幕上触摸特定的区域就会触发对应的事情,正在Android 中这些事情将被传送到事情管制器,它是一个特意接收事情对象并对其实行翻译和管制的办法。

  正在 Android 顶用户事情反映是很主要的,用户音讯首要出处于3 种硬件外部装备:触摸反映(ONTouch系列办法)、按键反映(onKey系列办法)和轨迹球(Trackball)。岂论咱们是通过触摸方法与屏幕交互,依然操纵轨迹球来交互,任何与屏幕合系的交互都是与屏幕相应地位上的视图控件的交互。现正在 Android 体例的手机险些全是触屏,根基的按键越来越少,触摸屏反映成为成长的大趋向,因而正在操纵安排的时期首要推敲触摸的成就题目,着重优化用户触摸反映。

  图 1 注意证明了各式用户操作被体例搜捕的经过。体例搜捕用户的反映后,由Linux 驱动搜捕用户的音讯,经由Android 框架层的AcTIvity Manager 的效力通报给Activity中的体例办法,通过推广相应的体例办法更新View 类,音讯通报至Application Framework 层,最终移用Linux 驱动,担任着界面的绘制和更新。正在Android 工程中,触摸合系的接口函数首要封装正在android.view.KeyEvent 类中,写触摸屏操控的时期最初导入该类的包,正在Activity的子类中对该办法实行证明即可。Android 的事情管制机制相对浅易,关于事情管制机制不必注意剖释,达成各式响当令只需全部达成各个办法即可,各个办法的全部达成正在View类中实行,下面着重证明Android 平台触摸反映的达成。

  寻常而言正在 Android 中,关于触摸事情的管制似乎UI 事情相似,首要通过两种办法来管制,一种是欺骗View 类的onTouchEvent()办法,一种是达成OnTouchLiSTener 接口的onTouch()办法。体例中当这两种办法都存正在的条件下,体例将会优先采用OnTouchListener接口回调办法实行管制。寻常正在浅易的UI 安排界面重写onTouchListener()办法,涉及到众个Activity 切换时正在办法中达成Activity 新闻保管与跳转即可。

  关于大型操纵而言,界面状况比力繁复,触摸反映必要注意管制,体例供应了一个特意用于管制用户触摸事情的接口函数onTouchEvent()。现实开荒经过中只需先声明此接口函数,明陞然后正在主View类中重写该函数达成全部的触摸成就即可。下面是接口函数的声明:

  触屏监听办法中只要一个MotionEvent event 参数,此类的实例中保管了玩家触屏的各式行为,常睹的有:按下行为、挪动行为、众点触屏、屏幕压力等,正在此类中界说了许众行为的静态常量值,通过event.getAction()办法获取玩家的行为与所需行为常量值实行成亲。

  上面是声响界面的触摸反映管制:event.getAction()是键控的类型,是MotionEvent 类的体例办法,明陞获取此刻的触摸反映。当向下触摸屏幕时,就反映MotionEvent.ACTION_DOWN这个行为,当触点满意给定的区间周围,就推广相当的操作,达成逛戏的状况跳转。触摸周围正在划分的时期最好以屏幕的相对地位为参考点,云云正在操纵横竖屏的管制或者操纵移植的时期会更利便,避免了一再批改参考坐标的值。正在序次入口处承袭Activity 的子类中可能获取此刻装备屏幕宽和高的全部属性,云云触摸周围确准时以屏幕的宽和高的属性值来定位就可能了。所有触摸局部的流程图如下:

  图 2 显示的是逛戏经过中触摸屏幕时全部的反映流程,首要涉及到Activity 类和View类。正在Activity 类中实行触摸办法onTouchEvent()的声明,正在View 类中对该办法实行注意界说和证明。当触摸反映后,触发事情反映机制,event 对象通过getAction()办法获取触摸反映,得回此刻的触摸点坐标event.getX()和event.getY(),与办法中的触摸周围实行推断,若正在区域内则推广触摸反映。触摸反映推广后必要正在触摸开释MotionEvent.ACTION_DOWN实行触摸开释的管制,实时开释此刻的触摸反映。

  值得留意的是,上面触摸反映MotionEvent.ACTION_DOWN 中,特地界说了一个偶尔触摸计数变量keyCount,当计数变量加到肯定的水平时期才推广触摸反映。云云管制能有用地防卫相连触摸反映,触摸不开释而直接跳到下一个状况,触摸变量的树立正在各个界面跳转经过中特别是逛戏菜单中各界面跳转中是很有需要的。

  触摸反映中除了各个菜单界面的反映以外再有一个主要的反映即是逛戏中对主角的操控。主逛戏界面的触摸反映道理和菜单界面是相仿的,分别的是触摸推断周围的采取有差别,菜单界面各个触摸周围是固定的,而逛戏界面触摸区域的规定是动态的。因为正在脚色饰演等逛戏中主角是焦点人物,以是对主角的操控的触摸反映显得特别主要,实行触摸安排的时期寻常以主角为核心实行安排,以主角的坐标动作根基点来推断。

更多案例

移动端UI 设计规范整理汇总

界面策画(iOS体系)中常用的少许尺寸标准和举措, 如控件间距、适配、标注、切图等 目前主流的 iOS 装备闭键有 iPhone SE(4英寸)、iPhone 6s/7/8(4.7英寸)...

Android移动应用触摸屏的实现和优明陞化方

是一个绽放、完备、免费的手机平台,壮健的开源个性吸引了越来越众的开荒者,的版本今朝已由最初的1.1 升级到最新的4.0,成效越来越壮健,用户体验越...

移动app开发公司:新闻APP开发解决方案

信息APP开荒是为阅读用户打制的一款更赶紧轻易阅读APP。实质涵盖信息、财经、科技、文娱、体育等众个资讯种别。为运营商供应以其专业、通盘的信息报...

友情链接:

Copyright © 2002-2021 明陞网络设计有限公司 版权所有 | 网站地图