android - 具有透明背景的自定义 ActionBar

标签 android background android-actionbar transparent

我无法为操作栏获得透明背景。这是我的代码。

    <style name="AppTheme" parent="Theme.AppCompat.Light">
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowActionBarOverlay">true</item>
    <item name="android:actionBarStyle">@style/action_bar_theme</item>
    <item name="android:windowContentOverlay">@android:color/transparent</item>
    </style>

<style name="action_bar_theme" parent="@style/Widget.AppCompat.ActionBar">
    <item name="android:background">@android:color/transparent</item>
    <item name="android:colorBackground">@android:color/transparent</item>
    <item name="android:titleTextStyle">@style/action_bar_title</item>
</style>

我无法获得透明背景。请让我知道我做错了什么,或者我是否遗漏了什么。

    ActionBar mActionBar = getSupportActionBar();
    mActionBar.setDisplayShowHomeEnabled(false);
    mActionBar.setDisplayShowTitleEnabled(false);

    mActionBar.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
    mActionBar.setStackedBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
    mActionBar.setSplitBackgroundDrawable(new ColorDrawable(Color.parseColor("#330000ff")));

    LayoutInflater mInflater = LayoutInflater.from(this);

    View mCustomView = mInflater.inflate(R.layout.custom_actionbar, null);
    TextView mTitleTextView = (TextView) mCustomView.findViewById(R.id.title_text);
    mTitleTextView.setText(getResources().getText(R.string.login_title));

    mActionBar.setCustomView(mCustomView,
                             new ActionBar.LayoutParams(
                                     ActionBar.LayoutParams.MATCH_PARENT,
                                     ActionBar.LayoutParams.WRAP_CONTENT,
                                     Gravity.CENTER
                             )
    );

    mActionBar.setDisplayShowCustomEnabled(true);

感谢任何帮助

最佳答案

因为您使用了支持库中定义的Widget.AppCompat.ActionBar,所以android:xxx 属性不可用。对于您的问题,只需删除 <item name="android:actionBarStyle">@style/action_bar_theme</item> 的前缀 android:<item name="android:background">@android:color/transparent</item> .

顺便检查一下你的xml文件中的其他android:xxx attr也是一样的原因。

关于android - 具有透明背景的自定义 ActionBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29052041/

相关文章:

R语言——定时器

android - 修改 ActionBar 中 Android 项目的样式

android - 不要在 MenuItem-Click 上关闭 PopupMenu

android - 在 Android 中扩展位图类?

android - 从 Activity 中传递一个 Intent

android - 更新背景边界

android - 保存 fragment 状态操作栏选项卡

android - 从切换首选项状态设置首选项屏幕摘要

android - UiAutomator 2.0 相当于 scrollIntoView

c# - asp.net中的后台进程