Android 如何使用材质设计在顶部应用程序栏上进行斜切?

Android 如何使用材质设计在顶部应用程序栏上进行斜切?,android,material-design,android-toolbar,material-components-android,android-shapedrawable,Android,Material Design,Android Toolbar,Material Components Android,Android Shapedrawable,我在material design io网站上找到了这条指南,有谁能分享你的想法,如何使用material design而不是第三方插件来实现这一点。 尝试使用剪切形状&材料设计的重叠底片进行复制,我查看了制作此UI的标准指南。此组件被调用,但不可用 如果该组件是固定的,则可以使用以下内容: <androidx.coordinatorlayout.widget.CoordinatorLayout android:background="@color/colorP

我在material design io网站上找到了这条指南,有谁能分享你的想法,如何使用material design而不是第三方插件来实现这一点。

尝试使用剪切形状&材料设计的重叠底片进行复制,我查看了制作此UI的标准指南。

此组件被调用,但不可用

如果该组件是固定的,则可以使用以下内容:

<androidx.coordinatorlayout.widget.CoordinatorLayout     
   android:background="@color/colorPrimary"
   ..>

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

   <androidx.constraintlayout.widget.ConstraintLayout 
       android:id="@+id/ll"
       ..>

如果要使用
底页
,可以选择使用as
形状PearanceOverlay

    val layout : ConstraintLayout = findViewById(R.id.ll)
    val  radius = resources.getDimension(R.dimen.cornerSize24);

    val shapeAppearanceModel: ShapeAppearanceModel = ShapeAppearanceModel()
        .toBuilder()
        .setTopLeftCorner(CornerFamily.CUT,radius)
        .build();

    val shapeDrawable = MaterialShapeDrawable(shapeAppearanceModel);
    shapeDrawable.fillColor = AppCompatResources.getColorStateList(this,R.color.white)
    ViewCompat.setBackground(layout,shapeDrawable);
  <style name="ShapeAppearanceOverlay.App.BottomSheetDialog" parent="">
    <item name="cornerFamily">cut</item>
    <item name="cornerSize">0dp</item>
    <item name="cornerSizeTopLeft">24dp</item>
  </style>

切
0dp
24dp
您可以使用