当前位置: 首页 > 知识库问答 >
问题:

更改Raduis CardView背景颜色

阎璞瑜
2023-03-14

我有一个带有半径和笔划的CardView,但当我以编程方式更改CardView背景时,半径和笔划将丢失,我希望新颜色保留在笔划内。

这是我的cardview xml

<com.google.android.material.card.MaterialCardView
      android:id="@+id/answerOneTransport"
      android:layout_width="148dp"
      android:layout_height="60dp"
      android:layout_marginStart="32dp"
      android:layout_marginTop="32dp"
      app:cardBackgroundColor="#F7F7F7"
      app:cardCornerRadius="16dp"
      app:layout_constraintStart_toStartOf="parent"
      app:layout_constraintTop_toBottomOf="@+id/quizzTransportViewPager"
      app:strokeColor="#9890FF"
      app:strokeWidth="1dp" >
      <TextView
          android:id="@+id/textAnswwerOneTransport"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:text="Answer One"
          android:layout_gravity="center"
          android:fontFamily="@font/nunito"
          android:textSize="20sp"
          />
  </com.google.android.material.card.MaterialCardView> 

这里是我换颜色的地方:

answerOneTransport.setOnClickListener {
    answerOneTransport.setBackgroundColor(Color.GREEN)
}

共有2个答案

江棋
2023-03-14

您需要使用android:backgroundTint

贺光华
2023-03-14

要更改卡片视图的背景色,必须使用以下方法:

cardView.setCardBackgroundColor(ContextCompat.getColor(this,R.color.xxx));
 类似资料:
  • 我正在使用RangeSeekBar为3种情况设置一些值(即绿色=OK,琥珀色=警告,红色=撤离)...我正在使用xml绘图来设置背景 我知道我可以通过编程更改渐变,但如何缩小起始颜色并增加结束颜色?有人能解决这个问题吗? 谢谢

  • 问题内容: 有什么方法可以更改RibbonApplicationMenuEntryPrimary(Flamingo)的背景颜色吗? 我看了看它的javadoc,但找不到方法。 问题答案: 1)请注意,我已检查API;从开始,有很多导入和扩展,它们来自许多不同的方法(这里是我尝试覆盖MetalButtonUI的尝试)。 2)也许更改内置颜色主题会很容易,但是我不建议这样做。 3)我不是Flaming

  • 我正在使用浮动操作按钮,我想更改背景颜色。 这是我的密码 下面是我用来尝试实现这一点的代码: 我也得到我的FAB的角落,如图所示。我应该如何消除那些角落的阴影?

  • 问题内容: 我正在尝试以可靠,外观独立的方式更改a的颜色。 如果使用Metal L&F,则使用UIManager是一种方法: 注意 :Iyy指出我在上面的属性名称中有一个错字,但是我会留给上面的人输入,但实际的属性名称应该是: 但是,这在我当前的外观(当前为Windows XP)中不起作用。经过进一步分析,看来Windows(仍然是XP)中的系统外观根本没有使用任何基于-的属性,或者至少它本身不提

  • 问题内容: 我已经将JOptionPane添加到我的应用程序中,但是我不知道如何将背景颜色更改为白色? 问题答案: 通过使用类 要么

  • 问题内容: 我正在尝试将 鼠标悬停在div的背景颜色上 。 div {background:white;} div a:hover {background:grey; 宽度:100%; 显示:块; 文字修饰:无;} 只有 div内的 链接 获得背景色 。 如何使 整个div获得该背景色? 谢谢 编辑: 如何使整个div充当链接-当您单击该div上的任意位置时,将您带到某个地址。 问题答案: 当鼠标