CardView背景色来源咨询:与?android:attr/windowBackground颜色存在差异
CardView背景色来源及与windowBackground差异的原因
CardView的默认背景色并非继承自?android:attr/windowBackground,它的颜色来自主题属性?attr/cardBackgroundColor,具体原因如下:
- 系统为CardView单独定义了专属的背景色属性,和
windowBackground属于不同的主题配置项。在Material主题体系中,cardBackgroundColor默认关联主题里的surface色值,而windowBackground一般对应background色值,二者取值逻辑不同,所以颜色会有差异。 - 你看到的灰色就是
cardBackgroundColor的默认值,黑色则是当前主题中windowBackground的设置,两者没有继承关系。 - 要是想调整CardView背景色,直接在布局里设置
app:cardBackgroundColor属性即可,也可以在主题中重写cardBackgroundColor的值来统一全局的CardView样式。
内容的提问来源于stack exchange,提问作者Ardityo Cahyo
相关产品推荐
相关产品推荐

