android 2.2 迁移 android 4.0 theme style attr 浅谈

    最近在做android2.2 往 android4.0迁移公共控件的工作,遇到些问题,在此做个记录,以便以后查阅。   

    android2.2 frameworks在theme style这块是比较简单的就一套主要的theme “Theme”,项目中使用sdk_addon方式更改style中定义,没有问题,既没有影响frameworks中源码,又达到修改部分公共控件的效果。

    然而,在把android2.2 的的代码使用sdk_addon方式合并代码到android4.0上时,出现了浏览器中button,radiobutton , checkbox异常不能显示现象,经查阅,原来浏览器在显示这些button时使用android原生控件,而因此造成不能显示,具体原因因项目急于结项,还未查明,据我的估计是,原来是只有“Theme”一个主题,现在4.0是"Theme"、"Theme.Holo"两个主题,而且以"Theme.Holo"为主,而覆盖是按默认覆盖,其实并没有覆盖到"Theme.Holo" 下button,radiobutton,checkbox这些,如果按照"Theme.Holo"下一起覆盖应该是没有问题的。最终考虑到项目是从2.2迁移而来,大部分应用也是按2.2的走的,因此就直接在frameworks里把”Theme“对应下的style修改了。

   另外有几点,我觉得值得记录下来的,android4.0使用一个theme_default,style_default的xml,里面都是定义的默认相关style调用,google建议修改默认都在此两个xml里修改,从各个公共控件默认调用来看,虽然都是先走attrs.xml 然后在对应theme里找,但似乎在4.0里这里google本身还处理的比较乱,没有全部都是对应到theme_default里,theme_default里也不是所有的都是走style_default,所以修改公共控件的时候还是要走查一下代码。其实主要还是修改style。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值