今天解决了一个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. 只需三分钟!只需创建一个vuex.js文件,让你马上学会使用Vuex,尽管Vuex是个鸡肋!(扔掉store文件夹和里面的index、getters、actions、mutations等js文件吧!)
  2. 服务器更改文件夹权限,云服务器如何修改文件权限
  3. 白帽渗透测试的36条军规
  4. PHP序列化与反序列化(__sleep与__wakeup)
  5. 19个很有用的 JavaScript 库
  6. 在基于or1200处理器的SoC上移植linux
  7. pip安装其他包报错
  8. laravel 数据填充
  9. android的底部弹出框炫酷的样式,Android自定义底部弹出框ButtomDialog
  10. 中国电信物联网正式平台设置订阅地址
  11. 上海万科地产档案室—智慧管理项目
  12. 智慧城市智能交通系统建议方案
  13. DDIA - 第5章 数据复制
  14. 使用Rational Quality Manager 4.0.1更有效地管理测试数据
  15. xp系统计算机怎么连接到网络打印机,XP系统找不到网络打印机如何解决?
  16. 京东快递 单号查询接口 C# .net
  17. Hazel引擎学习(六)
  18. Android中使用Volley开源库进行Http网络请求(GET方式)
  19. 大数据数据集下载地址
  20. bim建筑绘图计算机要求,BIM技术人才需要达到哪些要求呢?

热门文章

  1. AE基础教程(15)——第15章 质量图标和效果开关
  2. OpenPR开源代码项目(中科院自动化所)-含很多图像处理、模式识别、机器学习、自然语言处理的算法
  3. Abaqus子程序Vumat报错Bad material definition
  4. C++ STL标准模板库简介
  5. openvz使用手册
  6. 李开复给中国大学生的第四封信—大学四年应是这样度过
  7. 一步一步教你写股票走势图——分时图二(自定义xy轴)
  8. vue使用jointJs,vue流程图、旅程图
  9. mysql 建立超级用户_mysql创建超级用户
  10. web前端——实现倒计时,“距离双11天猫狂欢节还剩xxx”