【问题标题】:How to change card_view:cardCornerRadius programmatically如何以编程方式更改 card_view:cardCornerRadius
【发布时间】:2016-11-06 01:41:49
【问题描述】:

在我的项目中,我使用RecyclerView 在我的列表中使用CardView。在我的清单中,我必须根据设备动态设置CardView 的圆角半径。

有没有办法动态设置cardview圆角半径值?

谢谢。

【问题讨论】:

  • 你有什么解决办法吗?

标签: android android-cardview cornerradius cardview


【解决方案1】:

使用CardView.setRadius(float),参见androidx.cardview

(值得注意的是,如果您还调用setBackgroundColor,这将无效,请务必使用setCardBackgroundColor

您必须指定像素大小,而不是 dp 值,例如对于 4dp 的角半径,您可以在 Kotlin 中调用:

radius = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 4f, context.resources.displayMetrics) 

【讨论】:

  • 很遗憾无法正常工作,请恢复为默认 atrubites
  • @Sam 你需要使用 dp 到 px 的转换
  • 它会导致角落周围出现白色背景。
  • 我已经以编程方式生成 CardViews 并尝试将它们添加到水平滚动视图内的线性布局中。但是即使文档说它应该,这段代码也不起作用。我知道它已被标记为正确,但有什么我需要寻找的吗?
  • 是的,与@SoumyadeepGhosh 的问题相同,这对我没有用。还有其他解决方案吗?
猜你喜欢
  • 1970-01-01
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多