【问题标题】:Setting perfectly circular rounded corners on a MaterialButton in XML在 XML 中的 MaterialButton 上设置完美的圆形圆角
【发布时间】:2020-10-20 04:56:14
【问题描述】:

所以我一直在尝试找到一种方法,使 Material Components 库中的 MaterialButton 具有完美的圆角。我的意思是实际上它们的角大小是按钮高度的 50%。

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

可以使用绝对值或百分比值来确定形状大小。

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

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

【问题讨论】:

    标签: android android-layout android-button material-components-android materialbutton


    【解决方案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>
    

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

    【讨论】:

    • 这很好用,谢谢,由于某种原因,它在布局预览中根本不显示,但在运行时有效,所以我认为我太快放弃了类似的解决方案!
    • 如果它也可以帮助您投赞成票 ;)
    【解决方案2】:

    Material Design 有特定的命令。

    我无法比answer更好地解释它

    它适用于 Android Studio 3.1 或更高版本

    【讨论】:

    • 感谢您的回答,但是我没有看到任何提及将角半径设置为百分比?他们似乎仍在使用硬编码值。
    • 您使用的是 Kotlin 还是 Java?
    • Kotlin,虽然我对两者都很满意!
    • Kotlin 有自己的功能,我相信使用百分比。看看这个:developer.android.com/reference/kotlin/androidx/ui/foundation/…
    猜你喜欢
    • 1970-01-01
    • 2019-07-16
    • 2016-03-30
    • 1970-01-01
    • 2011-03-14
    • 2017-04-12
    • 1970-01-01
    • 2016-09-25
    • 1970-01-01
    相关资源
    最近更新 更多