↳ android.widget.FrameLayout ↳ android.support.v7.widget.CardView ---- 从官方的文档中我们可以看出: CardView:有圆角的背景和阴影的...CardView 扩展 FrameLayout 类别并让您能够显示卡片内的信息,这些信息在整个平台中拥有一致的呈现方式。CardView 小组件可拥有阴影和圆角。...CardView 在 Android 5.0(API 级别 21)及更高版本中使用真实高度与动态阴影,而在早期的 Android 版本中则返回编程阴影实现。...搭配起来使用效果更加~ ---- 如何使用 添加依赖项 RecyclerView 与 CardView 小组件为 v7 支持内容库的一部分 将这些 Gradle 依赖项添加至您的应用模块 dependencies...compile 'com.android.support:cardview-v7:21.0.+' compile 'com.android.support:recyclerview-v7:21.0
一、CardView简介 CardView是Android 5.0系统引入的控件,相当于FragmentLayout布局控件然后添加圆角及阴影的效果。...:设置阴影的大小。...继续使用WidgetSample工程的advancedviewsample模块,首先需要添加支持库,具体操作步骤同之前分享的揭开RecyclerView庐山真面目,这里不再重复分享。...三、CardView示例2 CardView被包装为一种布局,并且经常在ListView和RecyclerView的Item布局中,作为一种容器使用。...接下来简单定义一个CardView的item项,并在Java代码中修改CardView的属性,关于结合ListView和RecyclerView的部分比较简单,这里不做过多介绍。
去年很早之前,我就讲解过RecyclerView的使用,今天我们就在讲解CardView的时候,顺便再把RecyclerView同时讲解一下。...RecyclerView、CardView为用于显示复杂视图的新增Widget。接下来看看如何使用吧。...View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout .cardview_recyclerview_item...CardView CardView介绍 CardView是Android5.0之后为新增的控件,CardView是一个卡片布局,布局可以包含圆角和阴影,本质上CardView是一个FrameLayout...CardView属性 CardView中常用的属性有: cardElevation:设置阴影的大小 cardBackgroundColor:卡片布局的背景颜色 cardCornerRadius:卡片布局的圆角的大小
CardView(这里用于作为recycleview的子项,用于显示水果) 1.1 实际上,CardView也是一个FrameLayout,只是额外提供了圆角和阴影等效果,看上去会有立体的感觉...实际上,CardView也是一个FrameLayout,只是额外提供了圆角和阴影等效果,看上去会有立体的感觉。...然后在app/build.gradle文件中声明RecyclerView、CardView这几个控件对应的库的依赖: compile 'com.android.support:recyclerview-v7...> 这里使用了CardView来作为子项的最外层布局,从而使得RecyclerView中的每个元素都是在卡片当中的。...AppBarLayout实际上是一个垂直方向的LinearLayout,它在内部做了很多滚动事件的封装,并应用了一MaterialDesign的设计理念。
Material Design 的三维体现在光、绘制面和投射阴影。所有的材料对象都包含 x,y,z 三个维度。z 轴代表了海拔高度,而不是材料的厚度,这一点很多资料都是错误的。...Z属性不仅影响着view的阴影效果,还影响着view的绘制顺序,在同一个父view内部,Z属性越小,绘制的时机就越早。...物质材料内部可以展示任何形状和颜色,但其内容不会增加材料的厚度。...关键阴影 环境阴影 关键阴影和环境阴影 黑暗下 材质环境中的阴影由关键灯光和环境灯光投射共同产生。在Android和iOS开发中,当光源在沿z轴的各个位置处被“材质”表面阻挡时,会出现阴影。...阴影一定需要有轮廓然后海拔增高后才能被投射出来,两者缺一不可。阴影的底层是 native 实现的而不是普通的 2D 渐变效果模拟阴影。
、无框按钮、波纹效果等新特性 具体可参考 http://www.google.com/design/#resources 材料设计能做哪些工作 保证向后的兼容性 使用材料设计的主题 让视图产生阴影...使用RecyclerView和CardView 定制动画 intel x86模拟器 下载和安装intel x86模拟器加速器 之前的ARM模拟器,是以软件的形式模拟,所以很慢~x86可以选这使用宿主机器的...RecyclerView 详见本人另一篇博客 RecyclerView完全解读 ---- 立体卡片CardView 详情请查看鄙人CradView的使用 ---- 视图和阴影 Material Design...影响视图阴影的因素 以往的Android View通常有2个属性——X和Y,而在Android5.X中,Google为其增加了一个新的属性 —Z,对应垂直方向上的高度变化。...android:layout_height="wrap_content" android:layout_gravity="center" android:text="@string/cardview_contents
结合实现下拉刷新,以及RecyclerView的数据适配器RecyclerView.Adapter的用法,还有RecyclerView中item的点击事件的实现方法; 卡片式CardView的用法; 类似...app:elevation :FAB的阴影效果。...app:pressedTranslationZ :FAB动画效果,在它被按下的时候阴影就会增大。...-- CardView就是一个卡片样式的FrameLayout。...app:cardElevation : 阴影。 app:cardMaxElevation : 最大阴影。
CardView外侧白边问题: 在CardView外层加上一层布局包裹,如ConstraintLayout或LinearLayout,则RecyclerView显示时中间分割处会显示淡色白边。...2.如果setTitleBar里布局是(ToolBar),恰好设置了背景颜色,且颜色值使用了透明度,如#4400ff00,则ToolBar的阴影会失效!将颜色值透明度去掉换成正常的就好了。
同时,Google也给出了两个可以向下兼容的控件放到了V7包中,分别是RecyclerView和CardView,这篇博文就说一下怎么使用CardView。 CardView的包在哪?...虽然说CardView整合到了V7中,但是在support-v7中并不能发现,通过查看sdk extra路径下的文件可以发现,其名字叫cardview-v7。 ?...依赖添加完成后,进行编译会发现出现minSdk错误,cardview-v7的minsdk为“L",其实CardView能够向下兼容到2.0。...使用 在使用CardVIew之前,要明白CardView是个什么东西。CardView如Linearlayout、Framelayout一样都是ViewGroup,即其他控件的容器。...CardView的Z轴阴影,只有L平台有效。
4、风格背景 文字采用圆角+阴影进行包裹,至于高度和圆角效果因为时间紧迫,没有按照严格规范进行设置,如果对这方面有要求可以参考官网详细的规范要求。 ?...: RecyclerView, viewHolder: RecyclerView.ViewHolder, target: RecyclerView.ViewHolder): Boolean {...6、CardView 列表结构写好了,里面内容得优化吧,CardView自带圆角和阴影效果,让每个Item看起来就非常的自然,正如其名像卡片一样,也符合了Material Design特点。...作为ViewGroup包裹子View实现圆角和阴影的效果: CardView android:layout_width="wrap_content...> 主要由两个属性控制: cardCornerRadius:圆角半径 cardElevation:高度(直接影响阴影的大小) 7、CoordinatorLayout+AppBarLayout+Toolbar
显示不了数据 RecyclerView 需要重新设置一下LayoutManger才可以显示: // 计算RecyclerView的大小,可以显示器内容 mRecyclerView.setLayoutManager...这个问题的原因是: 在RecyclerView中添加其他控件,如这样: RecyclerView xmlns:android="http:/...> 比如我实现RecyclerView的上拉加载功能,滑动到列表最底端,会出现“点击加载更多”,每次执行到这里的时候,就会出现RecyclerView has no LayoutManager。...解决方法 // 避免出现RecyclerView has no LayoutManager的错误 mRecyclerView.setHasFixedSize(true); // 计算RecyclerView...十二、 Android5.0环境下的CardView无法显示阴影 CardView添加margin,外边距大小与阴影大小一致。
用RecyclerView替换ListViews 目前,你需要用RecyclerView来替换ListView。就如这节所描述的,RecyclerView是ListView的继承者。...: 我这个案例中使用了cardView compile 'com.android.support:recyclerview-v7:23.1.1' compile 'com.android.support...:cardview-v7:23.1.1' 使用CoordinatorLayout 接下来,你需要现为浮动操作按钮实现CoordinatorLayout Behavior。...fab_margin_bottom" android:layout_marginRight="@dimen/fab_margin_right"/> Issues 2: Android 5.0 中阴影显示...再看一遍上面的截图,会发现 Kitkat 中有阴影显示,而 Lollipop 中并没有。
(3)阴影效果 View增加了Z属性,对应垂直方向上的高度变化,Z由elevation和translationZ两部分组成(Z=elevation+translationZ),它们都是5.X引入的新属性...(5)列表和卡片 RecyclerView和CardView是support-v7包中新添加的组件,使用它们需要引用依赖com.android.support:recyclerview-v7:x.y.z...和com.android.support:cardview-v7:x.y.z。...RecyclerView也具有ListView一样的item复用机制,还可以直接把ViewHolder的实现封装起来,开发者只要是实现ViewHolder就行了,RecyclerView会自动回收复用每一个...在XML布局文件中使用CardView的时候还需要引入其命名空间xmlns:cardview=http://schemas.android.com/apk/res-auto。
layout_width="wrap_content" android:layout_height="wrap_content"/> 写Adapter以及其内部类自定义的...CardView就是一个ViewGroup,里面可以放置子布局 CardView android:layout_width="300dp"...> 其中,cardElevation是设置高度,高度越高,阴影越明显。...兼容性开发 创建layout、layout-v21两套布局,根据下面的差别写两份CardView的布局文件。...1.阴影的细微差别 5.x系统:边距阴影比较小,需要手动添加边距16dp,android:layout_margin=”16dp” 4.x系统:边距阴影比较大,手动修改边距0dp(原因:兼容包里面设置阴影效果自动设置了
View.VISIBLE : View.GONE}" app:cardCornerRadius="10dp"> cardview.widget.CardView> 取消阴影...要取消或移除 CardView 的阴影,你可以调整 CardView 的 cardElevation 属性,并将其设置为 0dp。...下面是如何设置 CardView 以取消阴影的示例: cardview.widget.CardView xmlns:android="http://schemas.android.com...:padding="16dp" /> cardview.widget.CardView> 在这个例子中,CardView 的 cardElevation 设置为 0dp,以确保没有阴影...此外,将 cardUseCompatPadding 设置为 false 可以消除由于阴影而产生的额外内边距,使 CardView 边缘更加紧凑。
的不友好支持;最后采用的是腾讯x5内核; 5、Https 证书支持(浏览器获取证书方式); 6、Glide v3.7 加载Gif 的时候,缓存策略不能使用Result,不然显示不出来; 7、一个类中内部类又调用其他内部类的...这个方法返回的值还是有问题的,值会很诡异的骤变一下,具体的没有去研究,另外通过设置 OnScrollListener 获取的 dy 或者dx 在子View是动态测量设置宽度或者高度时也是有问题的; 16、CardView...另外 CardView 阴影效果实现机制不一样,这个导致在5.0前后是有差异性的; 17、 友盟的QQ分享 需要记得替换,不然回调异常; 18、RecyclerView 未设置 LayoutManager...该方案不会影响 RecyclerView 的缓存策略。即你设了独立 id 的 holder ,如有必要,还是会优先被复用。...这样的确违背了 RecyclerView 的初衷,因此该方案仅适合 item 数量少,要求独立不被复用的情况。
在使用 CardView 之前,多少应该对它有一定的了解,下面将对其实现做简单的介绍。 自定义属性 CardView 继承自 FrameLayout,并在其基础上添加了圆角和阴影等效果。... 设置圆角大小 CardView_cardElevation 设置z轴阴影 CardView_cardMaxElevation ... 内部边距,子View与CardView的距离 CardView_contentPaddingLeft 内部左侧边距 CardView_contentPaddingTop... 内部顶部边距 CardView_contentPaddingRight 内部右侧边距 CardView_contentPaddingBottom 内部底部边距...同时,能很方便的做到多平台适配,不需要将各个平台特定的实现代码全部挤在 CardView 内部。
来试试把,用一下~ val recyclerView: RecyclerView = findViewById(R.id.recyclerview) recyclerView.layoutManager...(itemView) { val cardView: CardView = itemView.findViewById(R.id.cv_item_course) val textView...ViewHolder复用问题: 我们只解耦了 OnBindViewHolder的逻辑,但 OnCreateViewHolder还是要再写 复用灵活性问题: 比如说我在复用的时候,Adapter1里面对 CardView...要设置1dp的阴影,Adapter2里面需要3dp。...关于自动注册ItemType,我们的做法是实现MutableList接口,内部组合一个普通的MutableList,对 add, addAll, remove之类方法进行AOP处理,这些方法的执行的同时
为了实现阴影效果,内部已经消耗掉了 Background 属性 2、cardCornerRadius 设置圆角半径 3、contentPadding 设置内部padding View提供了padding...相同的原因,内部消耗掉了 padding 属性 4、cardElevation 设置阴影大小 5、cardUseCompatPadding 默认为false,用于5.0及以上,true则添加额外的 padding...绘制阴影 6、cardPreventCornerOverlap 默认为true,用于5.0及以下,添加额外的 padding,防止内容和圆角重叠 ---- 二、属性效果展示 ---- 三、案例展示...-- 通过cardview添加阴影效果 --> cardview.widget.CardView android:layout_width="wrap_content" android...效果图: 效果图说明:CardView内部已经消耗掉了 Background 属性 ---- ②在cardview控件内新增: app:cardCornerRadius="10dp" ----
增加阴影吧。 3、启动白屏一会或者点击logo卡顿很久没反应的暴力解决。 4、打开自定义图库,选择图片容易OOM,页面崩溃回到程序crash。...5、ViewPager嵌套RecyclerView还有轮播图的手势冲突,参考:linkagescroll。...8、CardView 慎用,因为在某些低版本的机器上会有白带,需要的话可以用shape实现圆角。 9、图片压缩安利。 10、RecyclerView的回到顶部的优化。....."); } } } }); 2、TextView经常会因为背景图片的原因而导致出现看不清文字的情况,这里无数次考虑之后,决定某些特殊地方可以用轻微的阴影解决...private File thirdCompress(@NonNull File file) 10、RecyclerView的回到顶部的优化。
领取专属 10元无门槛券
手把手带您无忧上云