直播网站源码,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如何显示出底背景样式?, 更多内容欢迎关注之后的文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 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直播源码,软件登录时的背景图更改