我无法使工具栏看起来是浮动的

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

早上好,我正在使用 Android Studio 并尝试使工具栏在底部带有高程阴影,使其看起来像是浮动的,但这不起作用,没有显示阴影。

一些细节:

  • 我使用 Pixel 3A 进行模拟,它有 API 34。
  • Android资料1.9.0版本

activity_main.xml 代码

<?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"
    android:fitsSystemWindows="true"
    tools:context=".MainActivity">

    <com.google.android.material.appbar.AppBarLayout
        android:id="@+id/appBarLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <androidx.appcompat.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="60dp"
            android:background="?attr/colorPrimary"
            android:elevation="4dp"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
            app:layout_scrollFlags="scroll|enterAlways" />

        <View
            android:id="@+id/shadowView"
            android:layout_width="match_parent"
            android:layout_height="3.5dp"/>

    </com.google.android.material.appbar.AppBarLayout>

    <FrameLayout
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">


    </FrameLayout>

</androidx.coordinatorlayout.widget.CoordinatorLayout>

我尝试创建形状、使用样式、设置clipchildren: false,但没有成功。

android android-layout
1个回答
0
投票

我可以说有多种显示阴影的方法。

在当前代码中,工具栏的背景为黑色,因此您可以向工具栏下方的视图添加一些灰色。就像下面的代码一样。,

<View
        android:id="@+id/shadowView"
        android:background="#707070"
        android:layout_width="match_parent"
        android:layout_height="3.5dp"/>

这将在工具栏下方显示灰色阴影。

或者相反,您可以向 AppBarLayout 本身添加高度,它将自动显示阴影。但工具栏上的黑色背景使其不可见。就像下面这样。,

<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"
android:fitsSystemWindows="true"
tools:context=".MainActivity">

<com.google.android.material.appbar.AppBarLayout
    android:id="@+id/appBarLayout"
    android:layout_width="match_parent"
    app:elevation="8dp"
    android:background="@color/white"
    android:layout_height="wrap_content">

    <androidx.appcompat.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:elevation="4dp"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
        app:layout_scrollFlags="scroll|enterAlways" />

</com.google.android.material.appbar.AppBarLayout>

<FrameLayout
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior">


</FrameLayout>

上面的代码我已经查过了,请你查一下。

© www.soinside.com 2019 - 2024. All rights reserved.