我创建了一个版本为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时,我的应用程序崩溃了。如果我使用任何非阿尔法颜色,它的工作很好,我的意思是,如果我为actionbar设置颜色代码,它的工作很好。
错误是:taskdescription的主颜色应该是不透明的
我已经检查过这个解决方案Android 5.0: howto change Overview Screen Task Title background color但是对于alpha颜色有同样的错误。
对于不透明度颜色Hex transparency in colors
事故日志
03-20 05:59:41.323:e/androidruntime(2133):致命异常:main
03-20 05:59:41.323:E/AndroidRuntime(2133):进程:com.mytaxback,PID:2133
03-20 05:59:41.323:e/androidruntime(2133):java.lang.runtimeexception:无法启动活动组件信息{com.mytaxback/com.mytaxback.loginactivity}:java.lang.runtimeexception:任务描述的主颜色应不透明
03-2005:59: 41.323:E/ANDROIDRunTime:(2133):在安卓.App.ActuviyTrime.PrPrimeActudiCycActudio(ActuviyToel.java:2298)
03-2005:59: 41.323:E/ANDROIDRunTime:(2133):在安卓.App.ActuviyTrn.HuffelaLuncActudio(ActuviyTrim.java:2360)
03-2005:59: 41.323:E/ANDROIDRunTime:(2133):在Android .App.ActuviyTrime.Access 800美元(ActhviyToel.java:144)
03-2005:59: 41.323:E/ANDROIDRunTIME(2133):在Android .App.ActuviyT线$ H.HoalMeMeSeX(ActuviyTrim.java:1278)
03-2005:59: 41.323:E/ANDROIDRunTime:(2133):在安卓.OS.Halder-Debug Chrime:HANDL.java:102)
03-2005:59: 41.323:E/ANDROIDRunTimeTimes(2133):在Android .OS.Looper-Loo.(循环器.java:135)
03-2005:59: 41.323:E/ANDROIDRunTime:(2133):在安卓.App.ActuviyTrime.Mead(ActuviyTo.java:5221)
03-2005:59: 41.323:E/ANDROIDRunTime:(2133):在java.
03-2005:59: 41.323:E/ANDROIDRunTime:(2133):在java.
03-2005:59: 41.323:E/ANDROIDRunTime:(2133):在COM.Android .No.OS.ZyGoTeNITIT $ Advand AdjSculal.Run(ZyGoTynIt.java:899)
第41.323页:E(2133):在com内部。
03-20 05:59:41.323:e/androidruntime(2133):原因:java.lang.runtimeexception:任务描述的主颜色应不透明
03-2005:59: 41.323:E/ANDROIDRunTIME(2133):在Android .App.ActuviyMeals$TaskDead(ActuviyMault.java:536)
03-2005:59: 41.323:E/ANDROIDRunTIME(2133):在Android .App.Activity上。
03-2005:59: 41.323:E/ANDROIDRunTime:(2133):在Android .View中。
03-2005:59: 41.323:E/ANDROIDRunTime:(2133):在Android .View中.CutExtTeMeWrPase.StEdTrand(CutExtMeWrasePr.java:85)
03-2005:59: 41.323:E/ANDROIDRunTime:(2133):在安卓.App.ActuviyTrime.PrPrimeActudiCycActudio(ActuviyToel.java:2244)
03-20 05:59:41.323:E/AndroidRuntime(2133):…10更多
我在5.0操作系统模拟器中遇到了这个问题。它与ICS、Kitkat配合得很好
给我点建议。
谢谢,
最佳答案
我已经为actionbar/工具栏和状态栏指定了背景色,这里actionbar的颜色是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));
}
我注意到,当我使用EclipseIDE编写这个主题时,它会导致一个错误,而相同的alpha颜色在AndroidStudio中运行良好。如果您发现我为eclipse编写的上述代码有更好的解决方案,请在这里发表评论,androidstudio不需要这些代码