关于android6.0系统源码中出现DeskClock调用v7包中ActionBar其无法用物理按键控制其Tab上焦点的问题

不积跬步,无以至千里。

         其实,以前我对于ActionBar操作知道的寥寥无几,但是现在管理的模块时DeskClock,其中在版本升级由以前的android4.4.2升级到android6.0,对于主界面的显示为闹钟、时钟、计时器、倒计时、世界时钟,而其显示的其主体结构的利用的ActionBar+ViewPager+Fragment.而其在版本升级前后其中的ActionBar的调用有了改动。android4.4.2其为adroid自带的frameworks中ActionBar,而到了android6.0其高通源码中调用的是v7包下的ActionBar了。

        而在版本升级的过程中因为吾的模块有物理按键对控件焦点的操作,而通过升级版本merge代码以后结果发现ActionBar上的Tab选项卡上不能如上个版本一样获得焦点了,因此通过询问组长还有一切网上的朋友问题还是没有解决,网上的资料也没能真正的对应解决,因为现在大部分都是触摸屏操作的智能手机,绝大部分android开发人员不会接触到物理按键对焦点的操作问题,其有可能遇到同样此类问题的兄台,也许同为rom定制开发的小伙伴吧。因此我把这次自己找了2个月的bug——v7包下ActionBar物理按键操作Tab上的焦点问题,为大家指出在哪个位置可以对其进行合适的修改,接下来废话不说,直接上"硬菜"!!!

        1.此为对应的DeskClock文件目录

              2.找到对应的values文件夹下的styles文件

          3.打开此styles文件,在其此DeskClock的基类继承了v7包下的AppCompatActivity,因此所有的Activity则会都有同样的styles,以及其对ActionBar的设置,其中对于ActionBar的焦点控制的属性则为如下图中位置。

     其TranslucentDecorActivityTheme下的windowActionBar对应的boolean属性由false改为true,就可获得焦点,否则无焦点。

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rom_Fisher

赠人玫瑰,手留余香。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值