如何为工具栏制作圆角?

Use*_*163 2 android android-layout android-toolbar android-shapedrawable material-components-android

我看过其他答案,它们都适用于操作栏而不是工具栏,并且它们需要创建新形状。

有没有一种简单的方法可以使用 来做到这一点styles.xml

Gab*_*tti 9

这不是您正在寻找的内容,因为它没有 xml。
目前(1.2.0-beta011.3.0-alpha01ToolbarMaterialToolbar不支持shapeAppearancestyles.xml.
但您可以在任何情况下使用ShapeAppearanceModel材料组件库提供的。

在您的布局中:

<com.google.android.material.appbar.MaterialToolbar
    android:id="@+id/toolbar"
    style="@style/Widget.MaterialComponents.Toolbar.Primary"
    android:layout_margin="4dp"
    ..>
Run Code Online (Sandbox Code Playgroud)

然后只需应用ShapeAppearanceModel圆角:

    float radius = getResources().getDimension(R.dimen.default_corner_radius); //32dp
    MaterialToolbar toolbar = findViewById(R.id.toolbar);
  
    MaterialShapeDrawable materialShapeDrawable = (MaterialShapeDrawable)toolbar.getBackground();
    materialShapeDrawable.setShapeAppearanceModel(materialShapeDrawable.getShapeAppearanceModel()
            .toBuilder()
            .setAllCorners(CornerFamily.ROUNDED,radius)
            .build());
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述