直播网站源码,CardView如何显示出底背景样式?

直播网站源码,CardView如何显示出底背景样式?

初始化View进入构造方法,会进行IMPL.initialize方法的调用。这个IMPL是什么?

 

1
<br>private static final CardViewImpl IMPL;<br>static {<br>    if (Build.VERSION.SDK_INT >= 21) {<br>        IMPL = new CardViewApi21Impl();<br>    } else if (Build.VERSION.SDK_INT >= 17) {<br>        IMPL = new CardViewApi17Impl();<br>    } else {<br>        IMPL = new CardViewBaseImpl();<br>    }<br>    IMPL.initStatic();<br>}

 

IMPL是CardView的实现类,不同的版本有不同的实现。此处进入CardViewApi21Impl里面看看initialize实现。

 

1
<br>@Override<br>public void initialize(CardViewDelegate cardView, Context context,<br>            ColorStateList backgroundColor, float radius, float elevation, float maxElevation) {<br>    final RoundRectDrawable background = new RoundRectDrawable(backgroundColor, radius);<br>    cardView.setCardBackground(background);<br>    View view = cardView.getCardView();<br>    view.setClipToOutline(true);<br>    view.setElevation(elevation);<br>    setMaxElevation(cardView, maxElevation);<br>}

 

 

可以发现在这里面进行了cardView.setCardBackground调用,而background是根据设置的

 

1
<br>backgroundColor = a.getColorStateList(R.styleable.CardView_cardBackgroundColor);

 

赋值RoundRectDrawable生成而来。

cardView.setCardBackground(background);中的CardView是CardViewDelegate,它是一个接口,所以也要看它的实现类。在CardView类中可以找到:

 

1
<br>private final CardViewDelegate mCardViewDelegate = new CardViewDelegate() {<br>    private Drawable mCardBackground;<br>    @Override<br>    public void setCardBackground(Drawable drawable) {<br>        mCardBackground = drawable;<br>        setBackgroundDrawable(drawable);<br>    }<br>    //...<br>}

 

 

而上面的setBackgroundDrawable则是进入到了View层面了。

以上就是直播网站源码,CardView如何显示出底背景样式?, 更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2022-11-09 app直播源代码,scroll-view如何自适应页面剩余高度
2022-11-09 直播系统搭建,实现页面多级来回切换支持滑动和点击操作
2022-11-09 直播平台怎么搭建,Android与Js互调之传递图片
2021-11-09 一对一视频源码,登录时输入密码时的显示密码按钮
2021-11-09 小视频源码,java使用Thumbnails压缩图片
2021-11-09 app直播源码,软件登录时的背景图更改
点击右上角即可分享
微信分享提示