实现 Android ActionBar 透明教程

介绍

在 Android 应用中,ActionBar 是一个非常重要的组件,可以用来展示应用的标题、图标、导航按钮等。有时候我们希望将 ActionBar 设置成透明的,以实现更加个性化的界面效果。本文将向你介绍如何实现 Android ActionBar 透明。

流程

首先我们来看一下整个实现过程的步骤:

步骤 操作
1 设置 ActionBar 为透明
2 在布局文件中设置 fitsSystemWindows 为 true
3 在 MainActivity 中设置透明状态栏

接下来,我们将逐步完成这些操作。

操作步骤

步骤一:设置 ActionBar 为透明

styles.xml 文件中添加以下代码:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="android:windowActionBarOverlay">true</item>
</style>

这段代码的作用是将 ActionBar 设置成透明。

步骤二:设置 fitsSystemWindows 为 true

在布局文件中的根布局中设置 fitsSystemWindows 为 true:

<LinearLayout
    xmlns:android="
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">

    <!-- 其他布局代码 -->

</LinearLayout>

这段代码的作用是让布局内容显示在系统状态栏的下面。

步骤三:设置透明状态栏

在 MainActivity 中添加以下代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    }

    // 其他代码
}

这段代码的作用是设置透明状态栏。

状态图

stateDiagram
    [*] --> 设置 ActionBar为透明
    设置 ActionBar为透明 --> 设置 fitsSystemWindows 为 true
    设置 fitsSystemWindows 为 true --> 设置透明状态栏
    设置透明状态栏 --> [*]

甘特图

gantt
    title 实现 Android ActionBar 透明教程
    section 整理资料
    学习资料整理     : done, 2021-10-01, 1d
    section 操作步骤
    设置 ActionBar为透明  : done, 2021-10-02, 1d
    设置 fitsSystemWindows 为 true  : done, 2021-10-03, 1d
    设置透明状态栏  : done, 2021-10-04, 1d

通过以上步骤,你已经成功实现了 Android ActionBar 透明。希望这篇文章能帮助到你,加油!