getActionBar()空指针异常

本文介绍了如何在AndroidManifest文件中直接指定应用主题,并通过style文件实现不同API级别的主题切换。包括主题的选择、配置和应用实例。

网上的各种解决方案已经不少了,但是不适合于我的,谷歌一种新的解决方案

  

you can directly specify it in manifest file

1
2
3
4
< application
         android:icon = "@drawable/app_icon"
         android:label = "@string/app_name"
         android:theme = "@android:style/Theme.Holo.Light" >

There are 3 themes available Theme.Holo.Light/Theme.Holo.Dark/Theme.Holo.Light.DarkActionBar.

Theme.Holo.Light requires API level >=11 while Theme.Holo.Dark/Theme.Holo.Light.DarkActionBar requires API level >= 14

If you want to change themes according to API level, you can specify a base appTheme, and override it in style files

Screenshot from 2013-01-16 12:40:47

1
2
3
4
< application
         android:icon = "@drawable/app_icon"
         android:label = "@string/app_name"
         android:theme = "@style/appTheme" >

values/styles.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
< resources >
 
     <!--
         Base application theme, dependent on API level.
     -->
     < style name = "AppBaseTheme" parent = "android:Theme.Light" >
    
     </ style >
 
 
     < style name = "AppTheme" parent = "AppBaseTheme" >
        
     </ style >
</ resources >

values-v14/styles.xml

1
2
3
4
5
6
7
8
9
10
11
< resources >
 
     <!--
         Base application theme for API 14+. This theme completely replaces
         AppBaseTheme
     -->
     < style name = "AppBaseTheme" parent = "android:Theme.Holo.Light.DarkActionBar" >
        
     </ style >
 
</ resources >

If you want a consistent theme while maintain compatibility with lower API levels, look at what these people are doing op

The second solution is to request ActionBar feature manually instead making the theme do it for you. I am too lazy to try it myself. This link explain it pretty well. op  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值