如何为CardView实现不同的拐角半径,即右下角应具有比其他拐角更大的半径

时间:2019-08-02 05:38:34

标签: android android-layout material-design android-cardview material-components-android

enter image description here

我已经尝试过使用https://github.com/captain-miao/OptionRoundCardview这个仓库,但是由于它给人以棱角分明的作用,所以它并没有帮助原因。

1 个答案:

答案 0 :(得分:0)

您可以使用官方MaterialCard中包含的标准Material Components library

在布局中使用:

<com.google.android.material.card.MaterialCardView
        style="@style/MyCardView"
        ...>

以您的样式使用新的shapeAppearanceOverlay属性来自定义形状(需要版本 1.1.0。

  <style name="MyCardView" parent="@style/Widget.MaterialComponents.CardView">
    <item name="shapeAppearanceOverlay">@style/ShapeAppearanceOverlay_only_on_top</item>
  </style>

类似的东西:

  <style name="ShapeAppearanceOverlay.MaterialCardView.Cut" parent="">
    <item name="cornerFamily">rounded</item>
    <item name="cornerSizeTopRight">4dp</item>
    <item name="cornerSizeTopLeft">4dp</item>
    <item name="cornerSizeBottomRight">16dp</item>
    <item name="cornerSizeBottomLeft">4dp</item>
  </style>

enter image description here