我正在使用 Android Studio 4.1 并且我想隐藏
Action Bar
。我搜索了堆栈溢出,但似乎在 2020 年 10 月的 Android Studio 更新中引入了一些新方法,因为 getActionBar().hide();
行方法不再有效,应用程序直接崩溃。为了更清楚起见,我创建了一个新项目,除了 getActionBar().hide();
方法中的 onCreate()
之外,没有添加任何其他内容。应用程序仍然崩溃。我的模拟器在 Pixel 3 上运行 API 30、Android 11。
请帮忙。
它不依赖于Android Studio。
由于您使用的是
AppCompatActivity
并且必须使用 getSupportActionBar()
而不是 getActionBar()
。
例如,您可以使用
.NoActionBar
主题作为替代方案。
<style name="AppTheme" parent="Theme.MaterialComponents.DayNight.NoActionBar">
...
</style>
如果我的理解是正确的,你不再需要操作栏。那么如果你使用旧的基本 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>
谢谢您,有疑问欢迎提问。
在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>