猿问

透明操作栏:自定义标签颜色

我想创建一个带有透明标签的ActionBar #3b000000。像这样,但在ActionBar下方有标签:


这是我在styles.xml中使用的代码:


<style name="Theme.MyTheme" parent="@style/Theme.Sherlock.Light.DarkActionBar">

    <item name="android:actionBarStyle">@style/ActionBar</item>

    <item name="windowActionBarOverlay">true</item>

    <item name="android:windowActionBarOverlay">true</item>

    <item name="actionBarStyle">@style/ActionBar</item>

</style>


<style name="ActionBar" parent="@style/Widget.Sherlock.Light.ActionBar">

    <item name="android:background">@color/actionbar</item>

    <item name="background">@color/actionbar</item>

    <item name="android:actionBarTabStyle">@style/ActionBarTabStyle</item>

    <item name="actionBarTabStyle">@style/ActionBarTabStyle</item>

</style>


<style name="ActionBarTabStyle" parent="@style/Widget.Sherlock.ActionBar.TabView">

    <item name="background">@color/actionbar_tabs</item>

    <item name="android:background">@color/actionbar_tabs</item>

</style>

发生的情况是,ActionBar本身确实显示了透明的背景色,但是选项卡是完全透明的(没有颜色可见)。


我该如何解决?


蝴蝶刀刀
浏览 425回答 3
3回答

宝慕林4294392

致电setStackedBackgroundDrawable()您的ActionBar:getWindow().requestFeature(Window.FEATURE_ACTION_BAR_OVERLAY);ActionBar actionBar = getActionBar();actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#330000ff")));actionBar.setStackedBackgroundDrawable(new ColorDrawable(Color.parseColor("#550000ff")));这会产生(例如,带有一些随机的图标和选项卡,以及两种不同的蓝色背景色来突出显示效果):(刷新图标是默认图标,带有一点透明度。其他图标是颜色为#FFFFFFFF的自定义测试图标,即没有透明度)。

aluckdog

我已经在一个项目上做到了,风格是这样的:<style name="AppTheme" parent="android:Theme.Holo">&nbsp; &nbsp; <item name="android:windowActionBarOverlay">true</item>&nbsp; &nbsp; <item name="android:actionBarStyle">@style/action_bar_theme</item>&nbsp; &nbsp; <item name="android:actionMenuTextColor">#fff</item></style><style name="action_bar_theme" parent="@android:style/Widget.Holo.ActionBar">&nbsp; &nbsp; <item name="android:background">#b3000000</item>&nbsp; &nbsp; <item name="android:titleTextStyle">@style/action_bar_text</item></style>

绝地无双

如本文所述,使用以下自定义主题可以正常工作。<resources>&nbsp; &nbsp; <!-- the theme applied to the application or activity -->&nbsp; &nbsp; <style name="CustomActionBarTheme"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;parent="@android:style/Theme.Holo">&nbsp; &nbsp; &nbsp; &nbsp; <item name="android:windowActionBarOverlay">true</item>&nbsp; &nbsp; </style></resources>要应用某种颜色,Gunnar的答案说明了如何。ActionBar actionBar = getActionBar();actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#330000ff")));actionBar.setStackedBackgroundDrawable(new ColorDrawable(Color.parseColor("#550000ff")));
随时随地看视频慕课网APP

相关分类

Android
我要回答