- 去掉ActionBar,Android默认每个界面都有ActionBar,而我们项目使用Toolbar,所以要给Activity配置去除ActionBar的主题,,才能使用Toolbar,不然会因为冲突,而崩溃。
-
打开themes.xml文件,
<resources xmlns:tools="http://schemas.android.com/tools"> ....... ....... <!--region Activity样式--> <!--界面样式 背景: 白天:灰色 夜间:深黑--> <style name="SuperUI.NoActionBar" parent="Theme.MaterialComponents.DayNight.NoActionBar"> <!--背景色--> <item name="android:colorBackground">@color/black183</item> <!--主色调,按钮默认填充颜色--> <item name="colorPrimary">@color/primary</item> <!-- 次色调,例如floatActionButton背景,SeekBar进度颜色 --> <item name="colorSecondary">@color/primary</item> <item name="colorOnSecondary">@color/white</item> <item name="colorLightWhite">@color/white</item> <!-- 分割线颜色 --> <item name="colorDivider">@color/black183</item> <!-- tab bar控件背景 --> <item name="colorTabBar">@color/white</item> <!-- 分割线 --> <item name="android:listDivider">@drawable/shape_divider</item> <!-- 状态栏颜色 --> <item name="android:statusBarColor" tools:targetApi="l">?android:attr/colorBackground</item> <!--Toolbar背景颜色--> <!-- <item name="colorToolbar">?attr/colorSurface</item>--> <item name="colorToolbar">@color/transparent</item> <!--侧滑背景--> <item name="colorSlideBackground">@color/divider</item> <!--colorSurface点击颜色--> <item name="colorSurfaceClick">@color/black130</item> </style> <!--Light界面样式 背景: 白天:白色 夜间:深黑--> <style name="SuperUI.NoActionBar.Light"> <!--背景色--> <item name="android:colorBackground">@color/white</item> <!-- <item name="android:colorBackground">@color/transparent</item>--> </style> <style name="SuperUI.NoActionBar.Grey"> <!--背景色--> <item name="android:colorBackground">@color/black183</item> <!-- <item name="android:colorBackground">@color/transparent</item>--> <!-- 状态栏颜色 --> <item name="android:statusBarColor" tools:targetApi="l">@color/white</item> </style> <!--endregion--> ....... ....... </resources>
-
打开AndroidManifest.xml,给application添加设置
<application android:theme="@style/SuperUI.NoActionBar" >
-
添加依赖,在material依赖里面;新版项目自动添加了。
-
在layout目录下,创建toolbar布局文件;
<?xml version="1.0" encoding="utf-8"?>
<!--AppBarLayout主要用来实现标题折叠功能
elevation:阴影高度-->
<com.google.android.material.appbar.AppBarLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:elevation="0dp"
android:background="?attr/colorToolbar"
android:theme="@style/SuperTheme.AppBarOverlay">
<!--Toolbar控件-->
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:popupTheme="@style/SuperTheme.PopupOverlay.Light" />
</com.google.android.material.appbar.AppBarLayout>
- 使用
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activity.WebActivity">
<!--标题控件-->
<include layout="@layout/toolbar" />
<!--内容容器-->
<FrameLayout
android:orientation="vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:layout_width="match_parent"
android:layout_height="match_parent">
</FrameLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>