我无法为操作栏获得透明背景。这是我的代码。
<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/