为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

蝴蝶刀刀 2019-10-06 14:04:17
我想创建一个带有透明标签的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本身确实显示了透明的背景色,但是选项卡是完全透明的(没有颜色可见)。我该如何解决?
查看完整描述

3 回答

?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

致电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")));

这会产生(例如,带有一些随机的图标和选项卡,以及两种不同的蓝色背景色来突出显示效果):


//img1.sycdn.imooc.com//5d998402000187f804800304.jpg

(刷新图标是默认图标,带有一点透明度。其他图标是颜色为#FFFFFFFF的自定义测试图标,即没有透明度)。


查看完整回答
反对 回复 2019-10-06
?
aluckdog

TA贡献1847条经验 获得超7个赞

我已经在一个项目上做到了,风格是这样的:


<style name="AppTheme" parent="android:Theme.Holo">

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

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

    <item name="android:actionMenuTextColor">#fff</item>

</style>


<style name="action_bar_theme" parent="@android:style/Widget.Holo.ActionBar">

    <item name="android:background">#b3000000</item>

    <item name="android:titleTextStyle">@style/action_bar_text</item>

</style>


查看完整回答
反对 回复 2019-10-06
?
绝地无双

TA贡献1946条经验 获得超4个赞

如本文所述,使用以下自定义主题可以正常工作。


<resources>

    <!-- the theme applied to the application or activity -->

    <style name="CustomActionBarTheme"

           parent="@android:style/Theme.Holo">

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

    </style>

</resources>

要应用某种颜色,Gunnar的答案说明了如何。


ActionBar actionBar = getActionBar();

actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#330000ff")));

actionBar.setStackedBackgroundDrawable(new ColorDrawable(Color.parseColor("#550000ff")));


查看完整回答
反对 回复 2019-10-06
  • 3 回答
  • 0 关注
  • 424 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信