随便写两句备忘
做手机应用时,会经常遇到UI布局,画一堆按钮、输入框等这样的控件。我以前的做法很笨,就是给每个控件设个index索引,从1开始计,依次累加, 有按键动作时, 根据键值对index进行加、减操作定位控件焦点。
这种做法很容易想到,也很容易实现, 但问题是当有很多控件时,或者焦点切换不是依索引来排的, 这时就遇到麻烦了~
注:大多数windows桌面程序还是依index为序的,比如按Tab键就可以依次往增加索引,按shift+Tab就可以减索引。
经过分析浏览器的焦点管理, 采用算法搜索临近的控件是一种更好的方案。
这里大致先描述思想,空了再贴代码。
控件摆放在屏幕画布上, 必然有x,y,w,h这4种基本属性,再加上一个select属性标识是否获得焦点。 假设暂不考虑动态特效,那么在创建这些控件之处, 把它们存到一个容器里panel, 依据它们的x,y将它们全部画在屏幕上, select = true的控件绘制焦点框。
在按键发生改变时, 要做的就是查找出一个合适的控件, 将其select改为true.
我用到了4种算法,组合起来使用,效果不错:
最短边长计算算法
直线搜索算法
模糊搜索算法
直角三角形求边算法
这样, 不管按键或是触屏, 都能很容易得到焦点。
分享到:
相关推荐
软件项目开发及管理方针的目的是为项目管理及开发过程提供宏观指导。方针的贯彻实施体现在软件的开发及管理过程中,并由一系列过程 (Processes)和模板(Templates)组成。 该方针包含以下内容: 1. 软件项目计划方针 2...
手机幻灯图焦点图
软件工程:以质量为焦点,过程,方法,工具. 产品的神话:程序不是代码的全部. 独特性 高复杂性 产品不可见性 检测缺陷的机会只限于产品开发阶段 产品-QC 过程-QA 需求,设计,代码,测试.
js 手机移动端可滚动的导航代码,支持iOS,Android(暂不支持WP)等系统以webkit为内核的浏览器,建议在PC端使用以webkit为内核的浏览器(如:Google Chrome)中缩小浏览器窗口宽度查看效果,PC端查看效果需要用鼠标...
jQuery手机响应式设计焦点图,手机自适应代码
手机滑动焦点图,自适应手机端,修改方便。
简单实用的手机端网站焦点图滚动效果代码。兼容主流手机浏览器
以前从某处抠下来的手机焦点图,自适应宽度,需要的拿去,仅供参考
兼容PC手机可拖动jQuery焦点图是一款兼容PC端跟手机移动端可左右拖动焦点图网页特效。\
鼠标莫名奇妙一直失去焦点,打一句话得点好多次,此工具是检测什么东西频繁占用焦点,很好用。解压即可使用,很有效
C#开发WinForm,如何实现TextBox获取输入焦点时自动全选? 肯定不少朋友一看就会觉得再容易不过了:给TextBox添加GotFocus事件,然后在事件中调用TextBox.SelectAll()不就完事了吗?巢皮一开始也理所当然得这么...
flash幻灯焦点图切换ASP动态版带后台管理 flash幻灯焦点图切换ASP动态版带后台管理
联想K900手机jQuery大屏焦点图代码,兼容主流浏览器
jQuery手机焦点图切换特效代码是一款支持触屏滑动切换大图,做微信网站或手机方面的webapp都可以使用到这个代码,有需要的朋友参考下。
手机设备幻灯片精选集合 很全的手机焦点图代码 有html 懒人图库下载的。
一款兼容手机移动端的jQuery宽屏焦点图左右切换代码,支持自动轮播、鼠标拖拽切换和手机触屏滑动切换。
jquery css3手机端响应式焦点图是一款左右滑动切换效果的焦点图代码。
新浪手机网页焦点图,JQ源代码,有需要的可以下来看看!
这是一款基于jquery.hiSlider.js实现的支持手机移动端的响应式jQuery焦点图插件,本自适应jQuery焦点图特效支持flexible布局,支持移动触摸事件等。