在 XML 中的 MaterialButton 上设置完美的圆角

Setting perfectly circular rounded corners on a MaterialButton in XML

所以我一直在努力寻找一种方法,使 Material 组件库中的 MaterialButton 具有完美的圆角。我的意思是实际上它们的角尺寸为按钮高度的 50%。

在某些 documentation 中,它表明这应该可以通过下面的引用实现。

Shape size can be determined using a value that is either absolute or a percentage.

我有几个可行的解决方案,首先测量视图并以此方式设置角的大小,但后来我发现 ExtendedFloatingActionButton 使用 RelativeCornerSize 对象。

然而,我仍然无法在 XML 中找到解决方案。

Material设计有特定的命令。

我无法解释得比这更好

适用于 Android Studio 3.1 或更高版本

您可以使用 shapeAppearanceOverlay 属性。

<com.google.android.material.button.MaterialButton
    app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.Button.50"
    .../>

与:

  <style name="ShapeAppearanceOverlay.Button.50" parent="">
    <item name="cornerFamily">rounded</item>
    <item name="cornerSize">50%</item>
  </style>

您可以使用绝对值或百分比值。