位置: 编程技术 - 正文

触摸模式(Touch Mode)(触摸模式设置)

发布时间:2024-02-27

推荐整理分享触摸模式(Touch Mode)(触摸模式设置),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:触摸模式在哪里关闭,触摸模式在哪里关闭,触摸模式怎么关闭,触摸模式怎么关闭,触摸模式怎么关闭,触摸模式怎么设置,触摸模式设置,触摸模式怎么关闭,内容如对您有帮助,希望把文章链接给更多的朋友!

原文: (需要翻墙)

转载注明来自: UI工具套件的基本原则.我们的目的很简单:帮助你去设计和开发好的用户体验.一开始,我想先介绍触摸模式,它是UI工具套件最重要的原则.触摸模式是view hierarchy的一种状态,它只受用户与手机交互的影响.单独来看,触摸模式是很容易理解的,它指示了用户最后一次交互是否是触屏操作.比如,当你使用G1手机时,用滚迹球选择一个widget会退出触摸模式,而当用手机点击屏幕上的按钮时又会进入触摸模式.当用户不在触摸模式时,可能会在滚迹球模式(tackball mode),导航模式(navigation mode)或者键盘导航(keyboard navigation).还有,与触摸模式直接相关的唯一的api是View.isInTouchMode().听起来很容易对吗?奇怪的是,触摸模式是大幅简单而进入触摸模式的后果远远超过你的想象。让我们看看一些原因

触屏模式,选项(Selection)和焦点(Focus)

为手机设计UI工具套件是困难的,因为它们要提供各种交互机制.有的设备只提供个按键,有的会有触屏,有的需要触摸笔,有的既有触屏又有键盘.这样来看,第一款商业手机G1对Android开发者社区来说是一项福利,因为它提供了多种形式的输入:触屏,滚迹球和键盘.因为用户可以使用三种不同的机制来与应用交互,我们不得不努力解决所有可能出现的问题.以ApiDemo为例,它显示一个文本项列表.用户可以通过滚迹球来导航这个列表,也可以通过手指来滚动这个列表.这时,选项是一个问题.如果我选择了列表顶部的一项,然后向上滑动列表,选项应该如何变化呢?它依然要在那一项上并滑出屏幕吗?这时,如果我又要用滚迹球来移动选项会发生什么?更糟糕的,如果我按下滚迹球来给予当前的选项来触发动作,而此时选项并没有显示在屏幕上,这时候又会发生什么?在仔细考虑后,我们决定移除选项(在触屏模式).在触屏模式, 没有焦点和选项.一旦用户进入触屏模式,被选项不在被选中.相&#;的,当用户进入触屏模式,获取焦点的控件不再拥有焦点.下面的图片演示了当用户用滚迹球选择了一项后,再点击触屏,应用的反应.

为了让用户觉得更自然,当用户离开触屏模式时,框架知道怎样恢复选项/焦点.例如上边的例子,如果用户又使用滚迹球,先前的选项又会被选中.这就可以解释一个让开发者困扰的事情:他们创建的自定义view只有在滚动一次滚迹球后,才能接受按键事件.原因就是他们的应用处于触屏模式,需要使用滚迹球退出触屏模式,恢复焦点.触屏模式,选项和焦点的关系意味着你不能确定选项/焦点是否一定存在.一个初学者常犯的错误是依赖ListView.getSelectedItemPosition().在触屏模式,这个方法将会返回INVALID_POSITION.你应该使用click listeners 或者 choice mode.

在触屏模式可获取焦点触摸模式(Touch Mode)(触摸模式设置)

现在,你知道在触屏模式焦点是不存在的,我必须声明这并不完全正确.Focus在触屏模式可以存在但是以一种非常特别的方式,我们叫它可获取焦点的.这种特殊的模式是为接受文本输入(如EditText)或者具有过滤功能(如ListView)的控件创造的.这就是为什么在向文本框输入文本之前不必首先用滚迹球或手指选中它.当用户点击屏幕,如果应用没有在触屏模式将会进入触屏模式.在进入触屏模式的过程中会发生什么取决于用户点击了什么和焦点在哪.如果用户点击了一个在触屏模式可获取焦点的控件,这个控件将会获取焦点.否则,现在获取焦点的控件如果在触屏模式不能获取焦点就会失去焦点.例如,在下边的图片中,当用户点击屏幕时,输入框会获取焦点.

在触屏模式是否可以获取焦点是view的一个属性可以通过代码或者xml设置,设置时应该谨慎,因为它破坏了与Android正常行为的一致性.游戏和全屏的地图是一个设置这个属性的很好的例子.下边是一个需要在触屏模式获取焦点的控件的例子.当用户点击AutoCompleteTextView的Suggestion时,焦点依然在输入框.

Android初学者经常会通过设置触屏模式下的获取焦点能力来"修复"不显示选项/焦点.我们希望你考虑清楚.如果使用不正确,你的应用会与系统行为不同,让用户非常不习惯.Android框架包括了所有你需要的工具来处理用户交互,你完全可以不在触屏模式设置控件的可获取焦点性.比如,简单的使用choice mode,而不是让ListView保持它的选项.如果Android框架不适合你的需求,你可以向我们提意见或者提交你的patch.

触屏模式的备忘录

应该这样:

与核心应用保持一致如果你想保持选中状态,使用它们适当的特性(radio button, check box, ListView的选项模式)如果是写游戏,使用(focusable in touch mode)

不应该:

不要在触屏模式保持选中状态或者保持焦点.更多文章请看这里

Android 系统资源(字体,声音,视频)的简介 简述提到android系统资源可能联想到的有很多,这里主要是指字体,键盘,声音图像等。资源位置frameworksbasedata目录下:etcs,fonts,keyboards,sounds,video

android 背景音乐的播放 运行效果图如下一、布局文件actity_main.xml在自己新建的文件夹raw下导入当做背景音乐的歌曲二、java代码1、MainActivitiy.javapackagecom.example.service;importandroid.o

Android OpenGL ES(九)----构建几何物体 1.三角形扇一个三角形扇以一个中心顶点作为起始,使用相邻的两个顶点创建第一个三角形,接下来的每个顶点都会创建一个三角形,围绕起始的中心点

标签: 触摸模式设置

本文链接地址:https://www.jiuchutong.com/biancheng/379598.html 转载请保留说明!

上一篇:动态加载apk的坑(动态加载原理)

下一篇:Android 系统资源(字体,声音,视频)的简介(android资源文件)

  • 小规模纳税人收入是含税还是不含税
  • 建筑业的账务处理
  • 销售使用过的固定资产放弃减税
  • 公司不营业需要做年报吗
  • 百分百控股的企业是否负连带责任
  • 财务专用章的重要性
  • 医疗胶片扫描仪怎么用
  • 预付账款收不到发票汇算清缴调整增吗
  • 房地产开发企业预缴增值税
  • 小规模纳税人季报是哪几个月
  • 年前采购
  • 销售毛利率算法
  • 仓库缺货怎么处理
  • 产成品返工如何处理
  • 公司收到转账支票怎么盖章
  • 融资租赁咨询服务合同需要交印花税吗
  • 商场交的房租押金可以退吗
  • 合资公司51%股东的权限
  • 公司给员工的奖品是否要扣税
  • 补缴的以前年度的税费及滞纳金用更正申报企业所得税吗
  • 微信交电费怎么退款
  • 开票码是什么意思
  • 小规模增值税专票税率
  • 员工报销费用
  • 外币结算方式有哪几种
  • 工程项目处理废旧钢材怎么入账的
  • 华为手机蓝牙传送照片到苹果手机
  • 员工辞退补偿金发放逾期
  • 苹果电脑怎么升级系统到最新版本
  • 在windows7是一种
  • 纳税人哪些支出不用交税
  • 申请一般纳税人公司流程
  • Linux Mount NTFS分区造成的权限问题如何解决?
  • linux attached
  • scards32.exe - scards32是什么进程 有什么用
  • 工程施工暂估的成本的依据
  • vue可视化面板怎么打开
  • 农村合作社免所得税吗
  • php php.ini
  • php数独游戏代码
  • php 自动化测试
  • 无形资产入股后如何处理
  • 钱进公账怎么转账给别人
  • mysql从一张表更新到另一张表
  • 经典帝国cms生成器下载
  • 进项发票入账但没有发票
  • 怎么导出银行去银行流水
  • 建筑公司计提企税怎么算
  • 进项税额不得从销项税额中抵扣是什么意思
  • 企业购入固定资产发生的运输费,装卸费
  • 小规模企业没有员工如何申报个税
  • 生育津贴的支付期限表述不正确的是
  • 单位卖二手车如何交税
  • 建安工程预缴税额怎么算
  • 利润表主营业务收入怎么算
  • 发票验旧后才能领新发票吗
  • 应收股利在资产负债表中怎么填
  • 工程没钱也没有工资
  • 房租可以提前开票吗
  • 员工垫付的费用怎样记账
  • 企业利润分配明细表
  • 汽车租赁公司成本
  • sql怎么比较两个表字段的内容
  • win8怎么运行
  • rtm平台全称
  • win10电脑出现invalid partition table怎么弄
  • ubuntu浏览网页
  • winoldap.exe - winoldap进程是什么意思
  • linux kill-15
  • win10系统应用和功能中不能卸载
  • linux怎么使用shell脚本
  • unity3d跑酷游戏教程
  • js关闭子窗口
  • unity shooter
  • js实现自定义打印
  • python读取linux文件
  • 关于工龄认定的司法解释
  • 高新技术企业认定
  • 开增值税专用发票需要注意什么
  • 组织生活会有民族评议党员大会会后报告
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号