博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Anko 中使用 CardView 出现的坑
阅读量:6240 次
发布时间:2019-06-22

本文共 1408 字,大约阅读时间需要 4 分钟。

Anko 提升了 Android 页面的渲染速度,但是在用 Anko 写布局的时却遇到了很多坑,用 XML 可以轻松实现的一些效果,在 Anko 中经常找不到解决方案。比如说题目中的这个问题。

XML 中 CardView 的实现

1. 首先在导入依赖

implementation 'com.android.support:cardview-v7:26.1.0'复制代码

2. XML 代码

复制代码

3. 属性详解

cardCornerRadius 属性用来设置 CardView 的圆角效果 cardElevation 属性用来提供 CardView 的阴影效果 cardBackgroundColor 属性用来设置 CardView 中的背景颜色 foreground 属性用来设置 CardView 的点击效果,前提是添加 clickable 和 focusable

Anko 中 CardView 的实现

1. 导入依赖

implementation "org.jetbrains.anko:anko-cardview-v7:$anko_version"  // build.gradle  Module: appext.anko_version='0.10.7'  // build.gradle Project复制代码

2. Anko 代码

cardView {    id_cardView = View.generateViewId()    id = id_cardView    radius = 43f    cardElevation = 30f    backgroundColor = ContextCompat.getColor(ctx, R.color.colorWhite)    //background.setColorFilter(Color.WHITE,PorterDuff.Mode.SRC_ATOP)}.lparams(width = matchParent, height = dip(200)) {        leftMargin = dip(30)        topMargin = dip(30)        rightMargin = dip(30)        topToBottom = id_toolbar        startToStart = PARENT_ID        endToEnd = PARENT_ID}复制代码

代码看起来很完美,我们来看一下运行效果:

圆角呢?圆角呢?圆角呢?

问题就出在了这句代码上:

backgroundColor = ContextCompat.getColor(ctx, R.color.colorWhite)复制代码

这句代码将背景色设置给了 ColorDrawable 而不是 RoundRectDrawable,所以应该把这句代码改成这样:

background.setColorFilter(ContextCompat.getColor(ctx,R.color.colorWhite),PorterDuff.Mode.SRC_ATOP)复制代码

修改之后的运行效果:

转载于:https://juejin.im/post/5bd01de46fb9a05d185f2d81

你可能感兴趣的文章
Activity的启动模式 4种launchMode Intent.FLAG_NEW_TASK 详解
查看>>
hdu 2254 奥运 **
查看>>
数据结构基础
查看>>
UltraISO制作ISO镜像文件
查看>>
ASP.NET MVC 之自定义HtmlHelper
查看>>
声明顺序
查看>>
memcpy内存重叠的解决
查看>>
保存和恢复activity的状态数据[转]
查看>>
JS中call、apply的用法说明
查看>>
C#中对于Enum类型的遍历
查看>>
使用tomcat启动dubbo项目
查看>>
crontab + shell脚本实现文件重命名
查看>>
谈谈-ConstraintLayout完全解析
查看>>
fluent-ffmpeg 常用函数
查看>>
Robot Framework(十五) 扩展RobotFramework框架——远程库接口
查看>>
Eclipse中没有javax.servlet和javax.servlet.http包的处理办法
查看>>
汽车加工厂
查看>>
localStorage 和 sessionStorage 的用法
查看>>
day23-python操作数据库三
查看>>
第二次冲刺——第3天
查看>>