Android 4.2—Gallery2的焦点问题

基于Android 4.2系统做的全键盘手机方案终于完成了,因为没有TP,只能通过方向键控制,焦点是一大问题。

最难的焦点问题就是Gallery2,Browser以及第三方app例如WhatsApp,Facebook等获取不到焦点问题。

为什么说Gallery2的焦点问题很难呢,因为Gallery2的UI实现没有采用Android通常的View控件系统,不能简单的通过setFocusable()设置焦点。接下来说说我是怎么完成Gallery的焦点问题使得可以通过方向键可以操作Gallery的。

1.首先在AbstractGalleryActivity.java中分发按键,AbstractGalleryActivity.java是Gallery2中所有Activity的父类,public boolean dispatchKeyEvent(KeyEvent event) 把KeyEvent分发给GLRootView。
2.GLRootView把KeyEvent分发给GLView。
3.GLView把KeyEvent分发给SlotView,PhotoView。在SlotView,PhotoView监听按键并对按键根据需求进行客制化处理。Gallery主要有三个界面:相册簿集合页面(AlbumSetPage);点击某个相册进入该相册的所有图片页面(AlbumPage)和再点击某张具体图片之后的图片浏览页面(PhotoPage)。AlbumSetPage和AlbumPage的组成单元是SlotView,PhotoPage的组成单元是PhotoView。

猜你喜欢

转载自blog.csdn.net/zengrunxiu/article/details/80748303
今日推荐