【问题标题】:CardView background colour is trimmedCardView 背景颜色被修剪
【发布时间】:2020-10-04 06:03:58
【问题描述】:

我已将 CardView 的角半径设置为 50 dp 以获得最圆的角。但是在某些手机中(我在 android 8 中看到过),卡片背景颜色正在被修剪。虽然阴影/卡片高度是圆形的,但背景颜色不是。这里可能出了什么问题? 提前致谢。

【问题讨论】:

  • 请发布您的代码

标签: android background-color android-cardview cornerradius


【解决方案1】:

在 xml 中的 CardView 上设置 android:outlineProvider="none" 为我解决了这个问题!

【讨论】:

    【解决方案2】:

    不要使用50dp 的圆角半径,而是使用shapeAppearanceOverlay 属性来定义带有50% 的圆角:

        <com.google.android.material.card.MaterialCardView
            app:shapeAppearanceOverlay="@style/ButtomShape50"
            app:cardBackgroundColor="@color/...."
            ...>
    

    与:

    <style name="ButtomShape50">
        <item name="cornerFamily">rounded</item>
        <item name="cornerSize">50%</item>
    </style>
    

    您可以通过编程方式:

    cardView.setShapeAppearanceModel(cardView.getShapeAppearanceModel()
                .toBuilder()
                .setAllCorners(new RoundedCornerTreatment()).setAllCornerSizes(new RelativeCornerSize(0.5f))
                .build());
    

    关于新的RelativeCornerSize(0.5f) 的注释:它在1.2.0-beta01 中发生了变化。之前是new RelativeCornerSize(50))。

    在您的情况下,您也可以使用FloatingActionButtonExtendedFloatingActionButton,而不使用CardView

    <com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
            app:elevation="4dp"
            app:shapeAppearanceOverlay="@style/ButtomShape50"/>
    

    【讨论】:

    • 非常感谢。但是你有 CardView 小部件的任何东西吗?
    • MaterialCardView 扩展了androidx.cardview.widget.CardView,它由 Google 在官方材料组件库中提供。你是什​​么意思?它是一个静态资源,但您也可以通过编程方式进行。
    • 是的,我想以编程方式执行此操作。怎么做 ?而且我不想使用静态资源文件。所有内容都应包含在 java 文件中
    • 谢谢。您的示例有效,但由于我没有使用材料主题,因此无法使用它。有什么 appCompat 的吗?我可以使用浮动按钮创建圆形按钮。自定义背景可绘制是最佳选择吗?我们可以不使用 CardView 来实现吗?
    • Fab 使用的是哪个库?
    【解决方案3】:

    您是否使用android:background 作为卡片视图的背景颜色?你应该使用app:cardBackgroundColor

    【讨论】:

    • 我正在使用 app:cardBackgroundColor 仍然有这个问题。
    猜你喜欢
    • 2018-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    相关资源
    最近更新 更多