【发布时间】:2015-11-07 18:35:01
【问题描述】:
背景
在引入 CardView 之前,我在 my app 上做了一些选择器来模仿卡片,并让用户也可以选择应用程序使用的主题(有些人更喜欢深色主题):
问题
我想让它看起来和工作起来更自然,所以我尝试使用 CardView。
遗憾的是,我不明白如何设置 CardView 具有可点击和可检查的效果(每个平台的原生,可能具有不同的颜色),并且还能够将其设置为深色主题。
问题
如何使 CardView 具有可点击效果?在 Lollipop 上,这是一种连锁反应。在以前的版本中,它在 CardView 的边界内是全色变化的。我也想自定义可点击效果的颜色,让它也可以勾选。
如何制作深色主题 CardView ?
【问题讨论】:
-
在深色主题模式下,您必须自定义主题和特别的阴影/高度颜色以在应用 UI 中显示对比度
-
我最近使用这个答案作为指南实现了可点击的 CardView 功能:stackoverflow.com/questions/24475150/…
-
@DanielNugent 看起来不错。你知道 cardCornerRadius 和 contentPadding 标准应该是什么吗?是否也可以使 cardView 具有“已检查”状态?
-
我必须调整这些值以使其完美,它会根据您的 CardView 布局而有所不同。我使用了 CardViews 的 ListView,效果很好。至于“选定”状态,我的解决方案有点混乱,但它有效。我在长按时手动“选择”了一个 CardView,然后保留对所选视图的引用,以确保即使在使用视图持有者模式重复使用单元格时它也显示为选中状态。
-
@DanielNugent 我成功添加了可检查状态,使用这个:stackoverflow.com/questions/11775710/…,并将 state_checked 添加到 card_foreground.xml 的选择器中。但是,因为是前景,所以会改变卡片的内容,所以如果我选择完全不透明的颜色,它会隐藏卡片的全部内容。
标签: android material-design android-theme android-cardview android-design-library