我无法获得动作栏的透明背景。这是我的代码。
<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);
感谢任何帮助
答案 0 :(得分:1)
因为你使用支持库中定义的 Widget.AppCompat.ActionBar ,所以android:xxx attr是不可用的。对于您的问题,只需删除<item name="android:actionBarStyle">@style/action_bar_theme</item>
和<item name="android:background">@android:color/transparent</item>
的前缀 android:。
顺便说一句,检查xml文件中的其他android:xxx attr也是出于同样的原因。
答案 1 :(得分:0)
在资源中创建自定义hexcolor
<color name="custom_color">#8C000000</color>
然后像这样推荐
<item name="android:background">@color/custom_color></item>
示例十六进制颜色代码:#8C000000。
以上样本颜色将显示黑色,透明度为55%
我认为这会对你有帮助。
100% — FF
95% — F2
90% — E6
85% — D9
80% — CC
75% — BF
70% — B3
65% — A6
60% — 99
55% — 8C
50% — 80
45% — 73
40% — 66
35% — 59
30% — 4D
25% — 40
20% — 33
15% — 26
10% — 1A
5% — 0D
0% — 00
告诉我它是否有效。
解决方案2:
仅适用于Android 3.0及更高版本
如果您的minSdkVersion设置为11或更高,则您的自定义主题应使用Theme.Holo主题(或其后代之一)作为您的父主题。例如:
<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>
适用于Android 2.1及更高版本
如果您的应用使用支持库在运行低于Android 3.0的版本的设备上兼容,则您的自定义主题应使用Theme.AppCompat主题(或其后代之一)作为您的父主题。例如:
<resources>
<!-- the theme applied to the application or activity -->
<style name="CustomActionBarTheme"
parent="@android:style/Theme.AppCompat">
<item name="android:windowActionBarOverlay">true</item>
<!-- Support library compatibility -->
<item name="windowActionBarOverlay">true</item>
</style>
</resources>
价:https://developer.android.com/training/basics/actionbar/overlaying.html