标签: materialcardview

如何去除MaterialCardView边框

我正在使用这个布局

<android.support.design.card.MaterialCardView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:innerRadius="0dp"
    android:shape="ring"
    android:thicknessRatio="0"
    app:cardCornerRadius="24dp"
    card_view:cardElevation="0dp"
    card_view:cardMaxElevation="0dp">
  <ImageView
      android:id="@+id/close_button"
      android:layout_width="48dp"
      android:layout_height="48dp"
      android:layout_gravity="top|end"
      android:padding="@dimen/account_menu_close_button_padding"
      android:alpha="0"
      app:srcCompat="@drawable/quantum_gm_ic_close_vd_theme_24"
      />
</android.support.design.card.MaterialCardView>
Run Code Online (Sandbox Code Playgroud)

但我得到了一个带有小边框的cardView

在此输入图像描述

如何删除此边框并使卡片视图透明?

我看到了类似的帖子,但没有给出答案

android border android-layout android-cardview materialcardview

8
推荐指数
2
解决办法
5458
查看次数

com.google.android.material.card.MaterialCardView 未在 android studio 3.5.3 中显示

使用 xml 的设计预览不显示 com.google.android.material.card.MaterialCardView,但在我们安装应用程序时显示。

android material-design materialcardview

8
推荐指数
2
解决办法
1万
查看次数

为什么我为 cardBackgroundColor 设置的颜色不完全是显示的颜色?

背景

我正在尝试为应用程序准备深色主题,其中一项要求是为卡片和对话框设置特定颜色:#ff3c454c

问题

无论我是通过强制 ( app:cardBackgroundColor="#3c454c") 、引用 ( app:cardBackgroundColor="@color/...) 还是仅在主题中设置它- 在所有情况下我都没有得到我设置的颜色。相反,我得到了#525A61 的颜色。

我只测试了一种红色 (#f00) 只是为了确定它会影响卡,确实如此,对于这种颜色,它确实没问题。但是对于我设置的颜色,它没有。

我试过的

在我写的时候,我尝试了多种方法来设置颜色。一开始我只想使用主题本身,所以我将其设置为:

样式文件

    <style name="AppTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
        ...
        <item name="colorBackgroundFloating">@color/colorBackgroundFloating</item>
        <item name="colorSurface">@color/colorBackgroundFloating</item>
    </style>
Run Code Online (Sandbox Code Playgroud)

res/values-night/colors.xml

    <color name="colorBackgroundFloating">#ff3c454c</color>
Run Code Online (Sandbox Code Playgroud)

后来我尝试直接使用颜色,甚至将其设置为硬编码。显示时仍然得到不正确的颜色。

看到这可能是库本身的错误,我在这里报告了这个(包括一个示例项目,如果你想查看它)。

我注意到 BottomNavigationView 和其他类似的情况可能会发生完全相同的问题。

问题

为什么会发生?有什么解决方法吗?可以为所有使用这些属性的视图全局修复它的东西?

android colors materialcardview

6
推荐指数
1
解决办法
606
查看次数

为什么在 MaterialCardView 中设置 shapeAppearanceModel 会停止子剪辑?

我的用例是编辑 shapeAppearanceModelcom.google.android.material.card.MaterialCardView

card.shapeAppearanceModel = card.shapeAppearanceModel
            .toBuilder()
            .setTopEdge(TriangleEdgeTreatment(triangleSize))
            .build()
Run Code Online (Sandbox Code Playgroud)

上面的代码按预期工作,但是由于上面以编程方式设置了 shapeAppearanceModel

XML

 <com.google.android.material.card.MaterialCardView
        android:id="@+id/card"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:cardBackgroundColor="?myCustomColor"
        app:cardCornerRadius="8dp"
        app:cardElevation=4dp"
        app:cardPreventCornerOverlap="true"
        app:cardUseCompatPadding="false">

    <ImageView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scaleType="fitXY"
            android:src="@drawable/myImageDrawable"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
</com.google.android.material.card.MaterialCardView>
Run Code Online (Sandbox Code Playgroud)

在 Android studio 中,由于 TopEdge 以编程方式定义,编辑器不会复制该错误,但在模拟器/真实设备中,子项不会被剪切,并且圆角会被 ImageView 重叠。

当我删除 shapeAppearanceModel 设置时,裁剪工作将按预期进行。

截屏

漏洞

android android-cardview materialcardview

5
推荐指数
1
解决办法
1273
查看次数

无法在仪器测试中扩充 MaterialCardVIew 类

我正在尝试测试我的 recyclerView 并且我正在使用材料卡视图进行项目显示,虽然该应用程序运行良好,但当我尝试测试时出现此错误:

android.view.InflateException: Binary XML file line #11: Binary XML file line #11: Error inflating class com.google.android.material.card.MaterialCardView
Caused by: android.view.InflateException: Binary XML file line #11: Error inflating class com.google.android.material.card.MaterialCardView
Caused by: java.lang.reflect.InvocationTargetException
...
Caused by: java.lang.IllegalArgumentException: The style on this component requires your app theme to be Theme.MaterialComponents (or a descendant).
Run Code Online (Sandbox Code Playgroud)

现在测试就这么简单:

  @Test
    fun shouldShowList() {
        launchFragmentInContainer<PostsFragment>()
        Thread.sleep(5000)
    }
Run Code Online (Sandbox Code Playgroud)

睡眠仅用于应用程序等待尝试显示列表。奇怪的是,当我的列表项布局不使用 materialCardView 时,测试通过了。现在我已将我的应用主题更改为:

<style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
Run Code Online (Sandbox Code Playgroud)

但测试仍然消失,那么如何更改我的应用程序的测试主题?

android android-espresso material-design materialcardview

3
推荐指数
1
解决办法
3999
查看次数

如何消除MaterialCardVew的波纹效应?

如何禁用的触摸纹波效果MaterialCardView?将clickable属性设置为false或使用foregroundbackground属性无效。

我正在使用材料支持库版本1.1.0-alpha02

java android android-layout material-design materialcardview

1
推荐指数
1
解决办法
708
查看次数