博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android 自定义view 焦点问题
阅读量:5818 次
发布时间:2019-06-18

本文共 649 字,大约阅读时间需要 2 分钟。

hot3.png

先来看上面这张图:

实现的布局效果1,2,3为顶栏的导航栏模块,下面4为自定义view的内容,自定义view里里面有自己画的个个内容(图片,文字类等)

自定义view的效果是:按上下左右键,画出各个图片的焦点框

1.遇到的问题:

当按下左右键时,自定义view里的焦点框正常画出;但是当按上键时,这个焦点条到1组件上去了

分析:自定义view是一个组件,只有本身一个焦点,当按下左右键时,下面没有其他组件,所以焦点还是落在4自定义view中

当按上键时,焦点跑到1组件上去了

下面给出一个解决方案,防止按上键跑到1组件上去:

在自定义view中的onKeyDown中return true;不能return false   

return false表示:表示自己不处理,交给下一节点的onkeyDown处理   
return true表示:表示自己处理,不给下一节点的onkeyDown处理       

OnkeyDown的流程:

当前焦点所在的view--->下一级viewd的onkeydown-->activity中的onKeydown

2.当把自定义view放到viewGroup中时,会略过viewGroup中的按键事件,直接到activity中的onKeyDown,此种原因不甚明了,被这个东东绊了很久╮(╯▽╰)╭

但是当这个viewGroup中没有控件时,焦点在其上时,其中onkeydown事件能捕获到

转载于:https://my.oschina.net/blackylin/blog/117498

你可能感兴趣的文章
.NET 设计规范--.NET约定、惯用法与模式-2.框架设计基础
查看>>
win7 64位+Oracle 11g 64位下使用 PL/SQL Developer 的解决办法
查看>>
BZOJ1997:[HNOI2010]PLANAR——题解
查看>>
BZOJ1014:[JSOI2008]火星人prefix——题解
查看>>
使用Unity3D引擎开发赛车游戏
查看>>
HTML5新手入门指南
查看>>
opennebula 开发记录
查看>>
ubuntu 修改hostname
查看>>
sql 内联,左联,右联,全联
查看>>
C++关于字符串的处理
查看>>
6、Web Service-拦截器
查看>>
Flask 源码流程,上下文管理
查看>>
stream classdesc serialVersionUID = -7218828885279815404, local class serialVersionUID = 1.
查看>>
ZAB与Paxos算法的联系与区别
查看>>
java 读取本地的json文件
查看>>
Breaking parallel loops in .NET C# using the Stop method z
查看>>
Android Content Provider Guides
查看>>
修改故障转移群集心跳时间
查看>>
[轉]redis;mongodb;memcache三者的性能比較
查看>>
微软职位内部推荐-Sr DEV
查看>>