今天解决了一个Android平台下的焦点问题。发现其中关键问题的所在是Android的touchMode。从JavaSwing平台过来的人,都会关注setFocusable()和requestFocus()方法,但是在Android的View中还有另外的两个个方法,setFocusableInTouchMode()和requestFocusFromTouch()方法。这个两个方法就是解决Android上的焦点获取问题的关键。

同时在View类中,还有一个isInTouchMode(),可以帮助我们在监听Focuse事件时判断是否执行click(). 代码如下:

今天解决了一个Android平台下的焦点问题。发现其中关键问题的所在是Android的touchMode。从JavaSwing平台过来的人,都会关注setFocusable()和requestFocus()方法,但是在Android的View中还有另外的两个个方法,setFocusableInTouchMode()和requestFocusFromTouch()方法。这个两个方法就是解决Android上的焦点获取问题的关键。

同时在View类中,还有一个isInTouchMode(),可以帮助我们在监听Focuse事件时判断是否执行click(). 代码如下:

复制到剪贴板  XML/HTML代码
  1. ImageButton.OnFocusChangeListener mFocusChangeListener = new ImageButton.OnFocusChangeListener(){
  2. public void onFocusChange(View v, boolean hasFocus) {
  3. Log.d("FocuseChange", "Focuse has changed.");
  4. if (hasFocus) {
  5. // 如果是touchmode就执行click,否则就会只是选中。
  6. v.setBackgroundDrawable(getResources().getDrawable(R.drawable.));
  7. if (v.isInTouchMode()){
  8. ((ImageButton)v).performClick();
  9. }
  10. } else {
  11. v.setBackgroundDrawable(getResources().getDrawable(R.));
  12. v.getBackground().setAlpha(100);
  13. }
  14. }
  15. };

Android的焦点(Focus)问题 focusable相关推荐

  1. android 焦点分发,Android TV 焦点分发原理解析

    前言 相信很多刚接触AndroidTV开发的开发者,都会被各种焦点问题给折磨的不行.不管是学技术还是学习其他知识,都要学习和理解其中原理,碰到问题我们才能得心应手.下面就来探一探Android的焦点分 ...

  2. Android TV 焦点分发原理解析

    前言 相信很多刚接触AndroidTV开发的开发者,都会被各种焦点问题给折磨的不行.不管是学技术还是学习其他知识,都要学习和理解其中原理,碰到问题我们才能得心应手.下面就来探一探Android的焦点分 ...

  3. 使用JS取得焦点(focus)元素

    原文链接: Get the Focused Element with JavaScript 原文日期: 2014年3月19日 翻译日期: 2014年3月21日 翻译人员: 铁锚 对于良好的用户体验来说 ...

  4. html tab focus,tabindex解决div获得焦点focus()和失去焦点blur()的问题

    tabindex解决div获得焦点focus()和失去焦点blur()的问题 首先要说的是,默认情况下div标签是没有获得焦点focus()和失去焦点blur()两个事件的. 如果想要div可以拥有获 ...

  5. 表单焦点: focus/blur

    表单焦点: focus/blur 当用户点击或按TAB键时元素会获得焦点.也有autofocusHtml属性可以设置元素获取默认焦点,当页面载入或其他方式. 获得焦点通常意味:准备在这里接受数据.所以 ...

  6. android 焦点的作用,Android中的视图焦点Focus的详细介绍

    在非触摸屏设备中接收事件和处理响应的控件是具有焦点(Focused)的控件.一个窗口中一个时间内只能有一个具有焦点的控件.在早期具有滚轮设备的android系统中以及现在的智能TV电视应用中视图的焦点 ...

  7. Android 音频焦点(Audio Focus)

    原址 CONTENTS 引子 音频焦点 一个简单的示例 注意: 引子 说 Audio Focus 前先说个很简单需求:来电时暂停正在播放的音乐,电话结束时恢复播放. 看到这个需求,第一反应肯定是:监听 ...

  8. android音频焦点Audio Focus

    为了便于理解,我们以android的8.0以前的版本为例,8.0以后有一定改动,但是基本思路一样. 关于管理音频焦点(8.0以前和更高版本)的官方文档:https://developer.androi ...

  9. android的searchview焦点,Android how to focus ActionBar searchView

    In case SearchView is made by menu configuration, I expand the action view using menu item. private ...

最新文章

  1. pg 时间戳 能与整数比较大小吗_小学数学55组重要知识“顺口溜”+必考题型口诀,一遍就能记住!...
  2. c 获取数据库数据计算机,使用c从单板计算机写入mysql数据库使用c
  3. 调用Hybris API时遇到的错误消息Cannot find user with uid如何解决
  4. java演出厅选票_高仿猫眼电影选座(选票)模块-b
  5. vb6.0服务器组件安装失败,win10安装vb6.0总是失败怎么办?win10 vb6.0安装不了的解决办法...
  6. 20140704笔试面试总结(java)
  7. 图数据库 Neo4j 学习总结
  8. github (远端建立分支....配置见github 官网配置)
  9. mysql只导出表数据_MySQL 如何只导出 指定的表 的表结构和数据 ( 转 )
  10. 【面试招聘】我的秋招记录——(自然语言处理-面经+感悟)
  11. 中国脑计划颠覆性创新之路二,欧美脑计划存在重大缺陷
  12. admob html5,admob移动广告phonegap插件使用教程
  13. 服务器容灾性能,容灾和性能
  14. 微信小程序获取二维码scene报错40129
  15. 使用JAVA对数据库的记录进行操作(初步)
  16. 应付一天(今天太累)附新东方考研5500词音频
  17. 服务器系统盘满了(解决方法)
  18. win2008服务器蓝屏如何修复,win2008r2 老是蓝屏重启。
  19. 华为p8青春版(ALE-UL00)刷机教程
  20. 堆栈~堆栈~是堆还是栈?

热门文章

  1. xp未受用户在此计算机登录,XP系统无线网络连接受限制或无连接的解决办法
  2. 微信 3.9 版本,Sandboxie 沙盒双开报错
  3. Pytorch CNN 手写数字识别 0-9
  4. 谷歌又推出Chrome 55浏览器安卓版啦!
  5. outlook的archive pst丢失后
  6. Windows电脑键盘快捷键大全【最全的快捷键】
  7. java sql中为什么使用 where 1=1有什么用处呢
  8. php怎样获取当前时间,php中获取当前时间的函数
  9. 2016年html5游戏 报告,是寒冬还是风口?2015年HTML5游戏完整产业链报告
  10. SQL Sever数据库存取图片