我使用了 Android 的“底部导航活动”示例,但在每个片段中,片段顶部都有一个空白工具栏(屏幕截图中屏幕顶部的白条)。我已经在清单文件和布局预览中应用了 NoActionBar,我看不到工具栏。如何删除每个片段顶部的工具栏?
AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.myapp.test">
<uses-permission android:name="android.permission.VIBRATE" />
<application
android:allowBackup="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Quizeule">
<activity android:name=".activities.PlayActivity" />
<activity android:name=".activities.SplashScreenActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".activities.LoginActivity" />
<activity android:name=".MainActivity" />
</application>
</manifest>
Themes.xml:
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.Quizeule" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/purple_500</item>
<item name="colorPrimaryVariant">@color/purple_700</item>
<item name="colorOnPrimary">@color/white</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/teal_200</item>
<item name="colorSecondaryVariant">@color/teal_700</item>
<item name="colorOnSecondary">@color/black</item>
<!-- Status bar color. -->
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
<!-- Customize your theme here. -->
</style>
</resources>
答案 0 :(得分:3)
在 activity_main.xml
中删除 android:paddingTop="?actionBarSize"
并修复错误
答案 1 :(得分:2)
您可以尝试在 Theme.Quizeule 中添加以下内容吗?
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
答案 2 :(得分:2)
这是 Theme.MaterialComponents.DayNight.NoActionBar
Material design 深色主题的默认行为。查看this answer了解更多信息
如果您仍想使用此 DayNight 主题,则必须删除 item name="colorPrimary"
属性并改用 item name="colorSurface"
。
或者,如果您不需要深色模式效果,也可以使用 Theme.MaterialComponents.NoActionBar
主题。
答案 3 :(得分:1)
您必须添加这些 windowActionBar
和 windowNoTitle
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>