有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在片段中删除工具栏

我使用了Androids“底部导航活动”——例如,但在每个片段中,我在片段顶部都有一个空白工具栏(屏幕截图中屏幕顶部的白色条)。我已经在清单文件和布局预览中应用了NoActionBar,我看不到工具栏。如何删除每个片段顶部的工具栏

AndroidManifest。xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:安卓="http://schemas.安卓.com/apk/res/安卓"
package="de.myapp.test">

<uses-permission 安卓:name="安卓.permission.VIBRATE" />

<application
    安卓:allowBackup="false"
    安卓:icon="@mipmap/ic_launcher"
    安卓:label="@string/app_name"
    安卓:roundIcon="@mipmap/ic_launcher_round"
    安卓:supportsRtl="true"
    安卓:theme="@style/Theme.Quizeule">
    <activity 安卓:name=".activities.PlayActivity" />
    <activity 安卓:name=".activities.SplashScreenActivity">
        <intent-filter>
            <action 安卓:name="安卓.intent.action.MAIN" />

            <category 安卓:name="安卓.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity 安卓:name=".activities.LoginActivity" />
    <activity 安卓:name=".MainActivity" />
</application>

</manifest>

主题。xml:

<resources xmlns:tools="http://schemas.安卓.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="安卓:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
    <!-- Customize your theme here. -->
</style>
</resources>

enter image description here


共 (5) 个答案

  1. # 1 楼答案

    activity_main.xml中删除android:paddingTop="?actionBarSize",这将修复错误

  2. # 2 楼答案

    试试这个:

    İ如果您使用java;在片段onCreate中写入:

     GetActivity.getSupportedActionBar.hide();
    

    或者

        // set Windows Flags to Full Screen
     getWindow().setFlags( WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    
        
    

    或者如果你使用kotlin;在onCreateview中写入:

    (activity as AppCompatActivity).supportActionBar!!.hide()}
    

     requiredActivity.supportActionBar!!.hide()
    
  3. # 3 楼答案

    这是Theme.MaterialComponents.DayNight.NoActionBar材质设计暗主题的默认行为。查看this answer了解更多信息

    如果您仍然想使用这个DayNight主题,那么您必须删除item name="colorPrimary"属性并使用item name="colorSurface"

    如果不需要暗模式效果,也可以使用Theme.MaterialComponents.NoActionBar主题

  4. # 4 楼答案

    你可以尝试在主题中添加以下内容吗。奎泽尔

    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    
  5. # 5 楼答案

    您必须添加这些windowActionBarwindowNoTitle

        <style name="AppTheme.NoActionBar">
            <item name="windowActionBar">false</item>
            <item name="windowNoTitle">true</item>
       </style>