一 ActionBar的覆盖叠加
1 在使用覆盖时代码中要继承Activitym
2 自定义style
<style name="AppTheme" parent="@android:style/Theme.Holo.Light.NoActionBar">
<item name="android:windowActionBarOverlay">true</item>
<!-- 兼容支持库 -->
<item name="windowActionBarOverlay">true</item>
<item name="android:actionBarStyle">@style/TranslucentActionBar</item>
<item name="android:windowTranslucentStatus">true</item>
</style>
<style name="TranslucentActionBar" parent="android:Widget.Holo.Light.ActionBar.Solid.Inverse">
<item name="android:background">@null</item>
</style>
效果
二 在使用ActionBar时会出现2种情况style
第一种是系统的 例如:<application android:theme="**@android:**style/Theme.Holo.Light" ... />
比较明显的是加入了@android: ,类的继承是activity
第二种是兼容的 例如v7库下的 : <style name="CustomActionBarTheme"
parent="@style/Theme.AppCompat.Light.DarkActionBar">
比较明显的是没有@android: 类的继承是AppCompatActivity,
(如果系统的style的的使用了AppCompatActivity继承,则会出现Java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.)
第三种是自定义style: 这里偷个懒就不加说明了, 如果对于上边2种了解的话,要自己定义style还是比较容易的;