我已经创建了一个构建版本为 5.0 的应用程序,我在下面编写了主题
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimaryDark">@color/actionbar_color</item>
<item name="colorPrimary">@color/actionbar_color</item>
<item name="colorAccent">@color/actionbar_yellow_color</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:textColorPrimary">@color/edit_text_color</item>
<item name="android:windowBackground">@drawable/ic_app_background</item>
</style>
当我设置 actionbar_color="#4DFFFFFF" 时,我的应用程序崩溃了。如果我使用任何非 alpha 颜色,它工作正常我的意思是如果我为 actionbar_color="# 设置颜色代码FFFFFF“它工作得很好。
错误是:任务描述的主要颜色应该是不透明的我已经检查过这个解决方案Android 5.0:如何更改概览屏幕任务标题背景颜色 https://stackoverflow.com/questions/26496172/android-5-0-howto-change-overview-screen-task-title-background-color但 alpha 颜色出现同样的错误。
我已经按照这个设置不透明颜色颜色的十六进制透明度 https://stackoverflow.com/questions/15852122/hex-transparency-in-colors
崩溃日志
03-20 05:59:41.323: E/AndroidRuntime(2133): FATAL EXCEPTION: main
03-20 05:59:41.323: E/AndroidRuntime(2133): Process: com.mytaxback, PID: 2133
03-20 05:59:41.323: E/AndroidRuntime(2133): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mytaxback/com.mytaxback.LoginActivity}: java.lang.RuntimeException: A TaskDescription's primary color should be opaque
03-20 05:59:41.323: E/AndroidRuntime(2133): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
03-20 05:59:41.323: E/AndroidRuntime(2133): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
03-20 05:59:41.323: E/AndroidRuntime(2133): at android.app.ActivityThread.access$800(ActivityThread.java:144)
03-20 05:59:41.323: E/AndroidRuntime(2133): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
03-20 05:59:41.323: E/AndroidRuntime(2133): at android.os.Handler.dispatchMessage(Handler.java:102)
03-20 05:59:41.323: E/AndroidRuntime(2133): at android.os.Looper.loop(Looper.java:135)
03-20 05:59:41.323: E/AndroidRuntime(2133): at android.app.ActivityThread.main(ActivityThread.java:5221)
03-20 05:59:41.323: E/AndroidRuntime(2133): at java.lang.reflect.Method.invoke(Native Method)
03-20 05:59:41.323: E/AndroidRuntime(2133): at java.lang.reflect.Method.invoke(Method.java:372)
03-20 05:59:41.323: E/AndroidRuntime(2133): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
03-20 05:59:41.323: E/AndroidRuntime(2133): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
03-20 05:59:41.323: E/AndroidRuntime(2133): Caused by: java.lang.RuntimeException: A TaskDescription's primary color should be opaque
03-20 05:59:41.323: E/AndroidRuntime(2133): at android.app.ActivityManager$TaskDescription.(ActivityManager.java:536)
03-20 05:59:41.323: E/AndroidRuntime(2133): at android.app.Activity.onApplyThemeResource(Activity.java:3677)
03-20 05:59:41.323: E/AndroidRuntime(2133): at android.view.ContextThemeWrapper.initializeTheme(ContextThemeWrapper.java:140)
03-20 05:59:41.323: E/AndroidRuntime(2133): at android.view.ContextThemeWrapper.setTheme(ContextThemeWrapper.java:85)
03-20 05:59:41.323: E/AndroidRuntime(2133): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2244)
03-20 05:59:41.323: E/AndroidRuntime(2133): ... 10 more
我在 5.0 操作系统模拟器中遇到了这个问题。它与 ICS、KIT KAT 配合良好
给我任何建议。
谢谢,
我已经为操作栏/工具栏和状态栏指定了背景颜色,如下所示,这里 actionbar_color 颜色是 alpha 颜色
mToolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);
setSupportActionBar(mToolbar);
TextView mTitle = (TextView) mToolbar.findViewById(R.id.toolbar_title);
mTitle.setText(getString(R.string.login_title));
mTitle.setTypeface(Oswald_Medium);
mToolbar.setNavigationIcon(R.drawable.ic_back_arrow);
getSupportActionBar().setDisplayShowTitleEnabled(false);
mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onBackPressed();
}
});
mToolbar.setBackgroundColor(getResources().getColor(R.color.actionbar_color));
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){
Window window = getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(getResources().getColor(R.color.actionbar_color));
}
我注意到,当我使用 eclipse IDE 编写这个主题时,它会导致错误,而相同的 alpha 颜色在 Android Studio 中运行良好。如果您找到更好的解决方案,请在这里评论我已经为 Eclipse 编写了上面的代码,AndroidStudio 不需要此代码
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)