您好我必须将我的App主题更改为" Theme.AppCompat.Light.NoActionBar"。但在我改变之后,应用程序崩溃了。我无法找出问题所在:/
我的目标是在工具栏上展开导航抽屉。但为此,我需要" NoActionBar"功能。我希望有人可以帮助我。 谢谢你!
这是调试器的错误代码:
12-23 11:04:28.292 1410-1421/? E/ANDR-PERF-LOCK: Failed to apply optimization for resource: 4 level: 0
这是我的styles.xml代码:
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:listDivider">@android:color/transparent</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
</resources>
答案 0 :(得分:2)
1.转到MainActivity.java文件
2.注释这行代码
//NavigationUI.setupActionBarWithNavController(this, navController, appBarConfiguration);
3.crash应该修复
原因 您正在使用“底部导航活动”,它崩溃的原因是因为 java 尝试从 Actionbar 获取对象,当禁用 Actionbar 时,它返回 null 因为我们没有操作栏,要解决此问题,您需要评论或删除代码 如果您转到 MainActivity.java(如果您使用的是 java),您将在第 26 行看到此代码,它会尝试设置操作栏。我们可以将代码注释掉,它应该可以正常工作。
抱歉我的英语不好。
NavigationUI.setupActionBarWithNavController(this, navController, appBarConfiguration);
答案 1 :(得分:0)
专注于你的风格
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
此主题Theme.AppCompat.Light.NoActionBar
表示您告诉Android不要采用默认ActionBar
以后你打电话给ActionBar
在MainAcitvity
中导致崩溃的原因。
而是使用Toolbar
并设置为ActionBar
:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
另外我认为您正在使用lolipop,因此请在styles.xml中添加:
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
在你的清单中:
<activity android:name=".activity.YourActivity"
android:theme="@style/AppTheme.NoActionBar"><!-- ADD THIS LINE -->