自定义布局的透明导航抽屉- Android

wn9m85ua  于 2022-12-25  发布在  Android
关注(0)|答案(1)|浏览(180)

尝试使用自定义设计使Navigation Drawer完全透明(尝试仅包含自定义layout)。

  • 透明背景和Navigation Drawer中的零elevation
  • 我不想默认header或菜单items,我想在其他xml Layout中添加自定义设计,然后包括在内

我怎样才能做到这一点?

aiazj4mn

aiazj4mn1#

视频示例:x1c 0d1x
如果你愿意,让你的Navigation Drawer完全Transparent,然后使用这个。你可以在xml中定制设计,然后在NavigationView中定制设计。

<androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/drawerlayout" <!-- we will use this layout id in java for hide elevation -->
android:orientation="vertical"
android:focusableInTouchMode="true"
>

<com.google.android.material.navigation.NavigationView
    android:background="@android:color/transparent" <!-- for transparent -->
    android:layout_width="match_parent"
    android:layout_gravity="start"
    android:fitsSystemWindows="true"
    android:layout_height="match_parent">

    <include layout="@layout/custom_nav_drawer" />

</com.google.android.material.navigation.NavigationView>

</androidx.drawerlayout.widget.DrawerLayout>

在我们Activityjava类中用于隐藏drawer阴影/高程

DrawerLayout drawerLayout=findViewById(R.id.drawerlayout);
drawerLayout.setDrawerElevation(0f);

相关问题