如何在Android Studio 4.1中隐藏Action Bar?

问题描述 投票:0回答:3

我正在使用 Android Studio 4.1 并且我想隐藏

Action Bar
。我搜索了堆栈溢出,但似乎在 2020 年 10 月的 Android Studio 更新中引入了一些新方法,因为
getActionBar().hide();
行方法不再有效,应用程序直接崩溃。为了更清楚起见,我创建了一个新项目,除了
getActionBar().hide();
方法中的
onCreate()
之外,没有添加任何其他内容。应用程序仍然崩溃。我的模拟器在 Pixel 3 上运行 API 30、Android 11。

请帮忙。

android android-actionbar android-appcompat
3个回答
3
投票

它不依赖于Android Studio。
由于您使用的是

AppCompatActivity
并且必须使用
getSupportActionBar()
而不是
getActionBar()

例如,您可以使用

.NoActionBar
主题作为替代方案。

<style name="AppTheme" parent="Theme.MaterialComponents.DayNight.NoActionBar">
   ...
</style>

0
投票

如果我的理解是正确的,你不再需要操作栏。那么如果你使用旧的基本 Android 主题,那么你可以更改为这个。

  <!-- 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>
</style>

或者如果您使用新的材料设计,那么您可以更改为。

 <!-- Base application theme. -->
<style name="Theme.TextOverlayDemo" 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>

谢谢您,有疑问欢迎提问。


0
投票

在themes.xml中创建这个主题

<style name="NoActionBarTheme" parent="Theme.AppCompat.Light.NoActionBar">
            <item name="windowActionBar">false</item>
            <item name="windowNoTitle">true</item>
            <item name="android:windowFullscreen">true</item>
</style>

调用Manifest.xml

<activity
            android:name=".ui.activities.SplashScreen"
            android:exported="true"
            android:theme="@style/NoActionBarTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
</activity>
© www.soinside.com 2019 - 2024. All rights reserved.