【问题标题】:How to make rounded corners for Toolbar?如何为工具栏制作圆角?
【发布时间】:2020-11-05 11:40:46
【问题描述】:

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

有没有使用styles.xml 的简单方法?

【问题讨论】:

    标签: android android-layout android-toolbar material-components-android android-shapedrawable


    【解决方案1】:

    这不是您要查找的内容,因为它没有 xml。
    目前(1.2.0-beta011.3.0-alpha01ToolbarMaterialToolbar 不支持 shapeAppearance 样式作为 styles.xml 中的其他组件。
    但是您可以在任何情况下使用材料组件库提供的ShapeAppearanceModel

    在您的布局中:

    <com.google.android.material.appbar.MaterialToolbar
        android:id="@+id/toolbar"
        style="@style/Widget.MaterialComponents.Toolbar.Primary"
        android:layout_margin="4dp"
        ..>
    

    然后只需应用带有圆角的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());
    

    【讨论】:

    • 如何修复此错误:“android.graphics.drawable.ColorDrawable 无法转换为 com.google.android.material.shape.MaterialShapeDrawable”
    • 出现在第二个代码sn-p的第三行
    • @User104163 您使用的是MaterialToolbar 还是androidx.Toolbar
    • 天啊。我需要更加专注:)
    • 啊,我们同时找到了解决方法 :)
    【解决方案2】:

    创建一个可绘制资源(例如curdToolbar.XML):

      <?xml version="1.0" encoding ="utf-8"?>
      <shape xmls:android="http://schemas.android.com/apk/red/android"
           android:shape="rectangle">
    
            <corners android:radius= "20dp"/>
    
        </shape>
    

    像这样将它添加到您的工具栏:

       <androidx.appcompat.widget.Toolbar
          ......
          android:background= "@drawable/curvedToolbar"
       />
    

    【讨论】:

      猜你喜欢
      • 2019-02-27
      • 1970-01-01
      • 2019-01-03
      • 2012-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-16
      • 2017-09-28
      相关资源
      最近更新 更多