【问题标题】:Problem with changing the radius of corners in MaterialCardView在 MaterialCardView 中更改拐角半径的问题
【发布时间】:2020-08-11 14:23:32
【问题描述】:

我正在尝试禁用MaterialCardView 的底角圆角,但应用它后,所有角都失去了圆角。

        mainCard.shapeAppearanceModel = mainCard.shapeAppearanceModel.toBuilder()
            .setBottomLeftCorner(CornerFamily.ROUNDED, 0f)
            .setBottomRightCorner(CornerFamily.ROUNDED, 0f)
            .setTopLeftCorner(CornerFamily.ROUNDED, resources.getDimension(R.dimen.cornerSize))
            .setTopRightCorner(CornerFamily.ROUNDED, resources.getDimension(R.dimen.cornerSize))
            .build()

我的布局:

<com.google.android.material.card.MaterialCardView
    android:id="@+id/mainCard"
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:layout_margin="8dp"
    app:cardCornerRadius="12dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent">

    <androidx.constraintlayout.widget.ConstraintLayout
        android:id="@+id/main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@android:color/white">

    </androidx.constraintlayout.widget.ConstraintLayout>

</com.google.android.material.card.MaterialCardView>

【问题讨论】:

  • 它应该可以工作。您使用的是哪个版本,R.dimen.cornerSize 是什么?
  • 我在1.2.0 上进行了测试,但我也在1.3.0-alpha02 上进行了测试。 cornerSize 是 12dp,但这也没关系,因为如果我在运行时将所有角设置为该值,则所有舍入都可以正常工作。
  • 我无法复制该问题,但尝试使用:mainCard.shapeAppearanceModel = mainCard.shapeAppearanceModel.toBuilder() .setBottomLeftCorner(CornerFamily.ROUNDED, 0f) .setBottomRightCorner(CornerFamily.ROUNDED, 0f).build()
  • 对我不起作用...我创建了一个 example 来说明我如何测试它。
  • 您的问题不是 cardView。删除ConstraintLayout 中的android:background="@android:color/white" 并使用CardView 中的app:cardBackgroundColor 进行检查。

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


【解决方案1】:

尝试使用:

<com.google.android.material.card.MaterialCardView
    android:id="@+id/mainCard"
    app:cardPreventCornerOverlap="false"
    app:cardUseCompatPadding="false" 
    app:contentPadding="4dp"
    ..>

【讨论】:

    猜你喜欢
    • 2017-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多