我正在制作一个安卓应用程序,并使用android-support-v7-appcompat来确保我的应用程序支持2.2及以上版本的安卓操作栏。 我需要使操作栏悬浮并使用半透明背景,因此我已经将styles.xml修改为以下代码:
问题在于以下两行代码需要API 11及以上版本的支持:
<resources>
<style name="AppBaseTheme" parent="android:Theme.Light">
<!--
Theme customizations available in newer API levels can go in
res/values-vXX/styles.xml, while customizations related to
backward-compatibility can go here.
-->
</style>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>
<!-- TRANSLUCENT THEME -->
<style name="TranslucentAB" parent="Theme.AppCompat.Light">
<item name="windowActionBarOverlay">true</item>
<item name="android:windowActionBarOverlay">true</item>
<item name="android:actionBarStyle">@style/BlackBar</item>
<item name="actionBarStyle">@style/BlackBar</item>
</style>
<!-- TRANSLLUCENT COLOR STYLE -->
<style name="BlackBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="android:background">@drawable/halfblack</item>
<item name="background">@drawable/halfblack</item>
</style>
</resources>
并修改了清单文件以适应新的操作栏:
android:theme="@style/TranslucentAB"
问题在于以下两行代码需要API 11及以上版本的支持:
<item name="android:windowActionBarOverlay">true</item>
<item name="android:actionBarStyle">@style/BlackBar</item>
但我需要支持API级别8及以上。如果我删除这两行,该应用程序就可以在Android 2.2上正常运行,并带有黑色半透明操作栏。但如果我在Android 4.3中运行该应用程序,则会带有纯白色的操作栏。halfblack只是一个70%黑色的png文件,存储在drawable文件夹中。