前提
1.给View整体设置了点击事件但未设置onkeylistener
2.给View中的子控件设置了点击事件和onkeylistener
3.其中View的根布局中,设置了状态addStatesFromChildren="true"但未指明focusable的值;子控件设置为focusable为true
在设置View的根布局为focusable="false"后,
VerticalGridView的焦点可以移动到VerticalGridView之外了。
问题点在于未设置View的根布局为focusable="false"时
VerticalGridView边界上的子控件的向外界移动的按键事件也没有被监听到
要额外给View整体设置onkeylistener的话很多逻辑会改写,对于原本依赖子控件按键事件的逻辑可能存在问题
博客探讨了在Android开发中,当View的整体和子控件设置点击及按键监听事件时,焦点行为的问题。内容指出,若View的根布局不设为focusable=false,VerticalGridView的边界子控件无法触发向外界的按键事件。这可能导致需要对整体View添加额外的onkeylistener,但这样做可能影响已有的子控件逻辑。文章强调了理解和正确处理焦点事件及布局焦点属性的重要性。
2885

被折叠的 条评论
为什么被折叠?



