Android如何获得AppCompat.Translucenttypes的主题与支持操作栏?

我想添加支持操作栏到我的一个活动,我以前一直在使用theme.translucent这个活动,但为了使支持的actionbar工作,我需要inheritance的Theme.AppCompat,我需要保持半透明主题在这个活动,但不幸的是没有一个Theme.AppCompat.translucent,我可以看到默认情况下,有没有什么办法可以做到这一点?

您可以创build一组新的样式,使用它们具有与themes.xml中的 Theme.Translucent相同的属性。

将以下内容添加到您的styles.xml文件中:

 <style name="Theme.AppCompat.Translucent"> <item name="android:windowNoTitle">true</item> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:colorBackgroundCacheHint">@null</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowAnimationStyle">@android:style/Animation</item> </style> 

如果您想从主题(如对话框样式等)inheritance其他内容,则可以将前缀Theme.AppCompat更改为其他内容。例如,像Theme.AppCompat.Light.Translucent这样的名称将具有Light主题的属性。

要使用新样式,请将主题属性设置为@style/Theme.AppCompat.Translucent

 <activity android:name=".TranslucentActivity" android:theme="@style/Theme.AppCompat.Translucent" > </activity> 

Parama,

 <style name="Theme.AppCompat.Translucent" parent="Theme.AppCompat.NoActionBar"> <item name="android:windowNoTitle">true</item> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:colorBackgroundCacheHint">@null</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowAnimationStyle">@android:style/Animation</item> </style> 

这应该是样式标题,如果你想工具栏消失。你可以使用任何具有NoActionBar其他效果的父主题。

希望这可以帮助