二、CardView示例1 接下来通过几个简单的小示例程序来进一步学习CardView。...继续使用WidgetSample工程的advancedviewsample模块,首先需要添加支持库,具体操作步骤同之前分享的揭开RecyclerView庐山真面目,这里不再重复分享。...这次输入的关键字是cardview,即可完成CardView依赖库的添加。...三、CardView示例2 CardView被包装为一种布局,并且经常在ListView和RecyclerView的Item布局中,作为一种容器使用。...接下来简单定义一个CardView的item项,并在Java代码中修改CardView的属性,关于结合ListView和RecyclerView的部分比较简单,这里不做过多介绍。
去年很早之前,我就讲解过RecyclerView的使用,今天我们就在讲解CardView的时候,顺便再把RecyclerView同时讲解一下。...RecyclerView、CardView为用于显示复杂视图的新增Widget。接下来看看如何使用吧。...个条目,则会创建10个ViewHolder缓存起来,每次复用的是ViewHolder,所以他把getView这个方法变为了onCreateViewHolder。...LayoutManager:这个LayoutManager类决定视图被放在画面中哪个位置,但这只是它的众多职责之一。它可以管理滚动和循环利用。...> 最后友情提醒一下,使用CardView别忘了添加依赖: compile 'com.android.support:cardview-v7:23.4.0' 这个系列的讲解和实例都会整理在一个demo里
然后我们在CardView布局中放置了一个TextView,这个TextView就会显示在一张卡片中了。...然后在app/build.gradle文件中声明RecyclerView、CardView这几个控件对应的库的依赖: compile 'com.android.support:recyclerview-v7...> 这里使用了CardView来作为子项的最外层布局,从而使得RecyclerView中的每个元素都是在卡片当中的。...注意在ImageView中我们使用了一个scaleType属性,这个属性可以指定图片的缩放模式。...,顾名思义应该可以看出些端倪,这里可以先抽象理解为这个属性指定了的便是RecyclerView滚动的时候做出的行为), 只是上面的代码还没进行处理而已。
RecyclerView 有很高的自由度,可以说只有想不到没有做不到,真是越用越喜欢。这次用超简单的方法,让 RecyclerView 带上折叠的效果。 效果是这样的。...image.png 总结一下这个列表的特点,就是以下三点: 重叠效果; 层次感; 首项的差动。 下面我们来一个个解决。...当然,我们要用 Material Design 的控件才有这个属性,这里我用的是 CardView。...= null) { if (view instanceof CardView) { ((CardView) view).setCardElevation(dp2px...但这也会导致一个问题, 由于改变了控件的位置,当这个控件被复用时,会出现位置不正确的情况。
CardView 扩展 FrameLayout 类别并让您能够显示卡片内的信息,这些信息在整个平台中拥有一致的呈现方式。CardView 小组件可拥有阴影和圆角。...cardUseCompatPadding 设置内边距,V21+的版本和之前的版本仍旧具有一样的计算方式 card_view:cardPreventConrerOverlap 在V20和之前的版本中添加内边距,这个属性为了防止内容和边角的重叠...一般来说和RecyclerView搭配起来使用效果更加~ ---- 如何使用 添加依赖项 RecyclerView 与 CardView 小组件为 v7 支持内容库的一部分 将这些 Gradle 依赖项添加至您的应用模块...compile 'com.android.support:cardview-v7:21.0.+' compile 'com.android.support:recyclerview-v7:21.0...> LinearLayout> 示例 效果图 5.0以上的效果 ?
同时,Google也给出了两个可以向下兼容的控件放到了V7包中,分别是RecyclerView和CardView,这篇博文就说一下怎么使用CardView。 CardView的包在哪?...这个路径下就有cardview相关的东西了,包括已经打包好的aar包。...以压缩包方式打开aar,提取出其中的class.jar,这个jar文件就可以当作库文件进行依赖了。...使用 在使用CardVIew之前,要明白CardView是个什么东西。CardView如Linearlayout、Framelayout一样都是ViewGroup,即其他控件的容器。...示例: CardView xmlns:android="http://schemas.android.com/apk/res/android"
---- 基础使用 要使用RecyclerView在Android Studio 2.x(以下简称AS), 要这样: compile 'com.android.support:cardview-v7...:cardview-v7:26.1.0' implementation 'com.android.support:recyclerview-v7:26.1.0' 之后在布局文件中写入如下代码就引入了RecyclerView...这里把全部代码贴出来, 因为后面要在这个基础上不断扩充....点击 ---- 搭配CardView 是不是这个点击看着没啥感觉, 没事, 我们换上CardView再来一次. 布局文件: cardview 给CardView加上水波纹点击特效: <?xml version="1.0" encoding="utf-8"?
结合实现下拉刷新,以及RecyclerView的数据适配器RecyclerView.Adapter的用法,还有RecyclerView中item的点击事件的实现方法; 卡片式CardView的用法; 类似...flag- 没有设置这个flag的view将被固定在屏幕顶部。...相比Github上面开源的第三方库,这个更加简单易用。..., 并且下面的这个控件必须是可滚动的。...-- CardView就是一个卡片样式的FrameLayout。
操作步骤 要让这个过程有动画效果,你需要利用好CoordinatorLayout,CoordinatorLayout帮助协调定义在里面的view之间的动画。...: 我这个案例中使用了cardView compile 'com.android.support:recyclerview-v7:23.1.1' compile 'com.android.support...这个类用于定义按钮该如何响应包含在同一CoordinatorLayout之内的其它view。...目前浮动操作按钮默认的behavior是为Snackbar让出空间,就如这个视频中的效果。...Issues: 本文编写时,FAB 支持库仍然存在一些 bug,在 Kitkat 和 Lollipop 中分别运行示例代码,可以看到如下结果: Lollipop 中的 FAB: ?
先定义一个Item,我们就叫它 SingleTextItem.kt这个Item里面需要包含一个字符串,将来在 OnBindVH 的代理中传入到 View中 /** * 你自己定义的Item 示例:只有一个...然后我们需要些这类Item对于的逻辑,也就是 ItemController,在伴生对象中进行实现 /** * 你自己定义的Item 示例:只有一个Text的Item */ class SingleTextItem...然后在 autoRefresh的闭包中,我们只需要用DSL来表达这个需求即可。框架会帮我们做这一切。...(itemView) { val cardView: CardView = itemView.findViewById(R.id.cv_item_course) val textView...并且这个Item可以在多个Recyclerview Adapter中复用。 Adapter如何协调?
this.imageUrl = imageUrl; } } 2、图片的展示 可以看到我是用瀑布流的方式来实现图片的展示,效果还不错,但其实实现起来也是很简单的 先写个图片的布局作为 RecyclerView...的 Item CardView xmlns:android="http://schemas.android.com/apk/res/android...> 可以看到我在 ImageView 的外面加了一个 CardView,这个一种卡片式布局,能让图片看起来就像一张卡片一样,相当的优雅、美观。...接着编写 Adapter,将数据和界面进行绑定 public class MeiziAdapter extends RecyclerView.Adapter<MeiziAdapter.MeiziViewHolder...图片加载我用的是 Glide,如果没了解过这个库的,强烈推荐,一行代码就能搞定图片加载,你确定不研究一下。
花了两个多小时做了这个APP,功能简单,主题明确。 先说说完成这个APP的事前准备: 1. 主题 主题是最近非常火的「终结者2:审判日」 2....我想了下,就按照我做这个小项目,需要的控件顺序说起吧,这样也相当于大家跟我一起做出一个具有Material Design风格的APP了。 1、主题 一个项目的开始,你得先确定这个项目的主题颜色是什么?...: RecyclerView, viewHolder: RecyclerView.ViewHolder, target: RecyclerView.ViewHolder): Boolean {...6、CardView 列表结构写好了,里面内容得优化吧,CardView自带圆角和阴影效果,让每个Item看起来就非常的自然,正如其名像卡片一样,也符合了Material Design特点。...作为ViewGroup包裹子View实现圆角和阴影的效果: CardView android:layout_width="wrap_content
循环视图 RecyclerView Android 5.0 线性布局管理器 LinearLayoutManager Android 5.0 网格布局管理器 GridLayoutManager Android...5.0 瀑布流网格布局管理器 StaggeredGridLayoutManager Android 5.0 cardview-v7 卡片视图 CardView Android 5.0 palette-v7...这个与系统版本有关,每个版本的android.jar是固定的,有在该内核中定义的控件才能正常调用,没在内核中定义的控件在运行时会扔出类找不到的异常。...这部分控件数量最多,实现的界面特效最丰富,而且互相之间存在依赖关系,如design库依赖于appcompat-v7库,部分design控件如NavigationView还依赖于recyclerview-v7...Android5.0和6.0之后补充了这么多新控件,自然有部分老控件变过时了,下面就列举部分新旧控件的替代关系: Toolbar:替代ActionBar RecyclerView:替代ListView和
与其煞费苦心让这个方法有效,不如用ImageLoader来加载网上图片 吧!...三、 DrawerLayout must be measured with MeasureSpec.EXACTLY 这个问题出现的原因多是: 多个可滑动的控件在同一个布局界面中嵌套使用,导致滑动冲突...这个问题的原因是: 在RecyclerView中添加其他控件,如这样: RecyclerView xmlns:android="http:/...上面的话说的是,如果我们将参数设置为false,我们RecyclerView的item子项还是有父容器可以依靠的,这个参数root作为父容器用来规范item子项用的。...十二、 Android5.0环境下的CardView无法显示阴影 CardView添加margin,外边距大小与阴影大小一致。
、波纹效果等新特性 具体可参考 http://www.google.com/design/#resources 材料设计能做哪些工作 保证向后的兼容性 使用材料设计的主题 让视图产生阴影 使用RecyclerView...和CardView 定制动画 intel x86模拟器 下载和安装intel x86模拟器加速器 之前的ARM模拟器,是以软件的形式模拟,所以很慢~x86可以选这使用宿主机器的GPU等,和真机的速度相差无几...安装 找到SDK如下目录,因为这个加速器是跨平台的,windows操作系统对应的是exe执行文件,安装即可 ? ?...RecyclerView 详见本人另一篇博客 RecyclerView完全解读 ---- 立体卡片CardView 详情请查看鄙人CradView的使用 ---- 视图和阴影 Material Design...android:layout_height="wrap_content" android:layout_gravity="center" android:text="@string/cardview_contents
前言 之前写过一篇代码动态增删布局的, 对比下这次的RecyclerView增删item, 说句实话, 代码动态增删布局基本可以退群了. ---- 增删item 当然首先你可以按照第一篇-界面无小事...(一): RecyclerView+CardView了解一下建立基础的RecyclerView....可参考界面无小事(二): 让RecyclerView展示更多不同视图. 那既然有默认动画, 肯定就能自定义动画了. 在这之前, 先说说几个方法. 用来设置动画的具体状态的持续时间....因为这个项目真的足够地棒. 自带动画个数都已经足够用了, 见下. 你还可以继续在这基础上自定义. 是不是感觉三生万物了....SlideInDownAnimator 而且非常难得的是使用方法还很简单, 需要几个步骤 在Module的build.gradle中写入 dependencies { implementation 'jp.wasabeef:recyclerview-animators
同时,这次也带来了两个全新的View控件:RecyclerView和CardView。这篇文章将重点介绍RecyclerView,它有许多内部类和接口。接下来,我将介绍它们的功能,已经如何使用。...为什么命名为RecyclerView?...左边的图是数据初始化后的示例,当向上滚动视图的时候,当条目不可见之后将被回收。右图中红色区域内的两条不可见条目,将被放到缓存队列中以便新的条目可见时进行复用。...相反地,在RecyclerView中必须自定义实现RecyclerView.Adapter并为其提供数据集合。...至此,所有与本文章相关的代码都可以从Github上获取到,另外这个仓库中还有一份本人精心制作的PPT,可供参考。
PS: 开启这个优化后,打包会变得更慢,毕竟优化、移除资源需要遍历耗时的咯。 说到这里你也要小心引入或者打开了 -dontobfuscate ,这个就是说不混淆了。...在子View是动态测量设置宽度或者高度时也是有问题的; 16、CardView 默认是带有背景色的,在特定情况下,会出现背景色覆盖不了的情况。...另外 CardView 阴影效果实现机制不一样,这个导致在5.0前后是有差异性的; 17、 友盟的QQ分享 需要记得替换,不然回调异常; 18、RecyclerView 未设置 LayoutManager...24、使用 elevation 之后,这个布局上层的的控件将变得不可见。不知道这个是不是一个Bug。反正我被坑了。...38、接 37,RecyclerView 若要实现某种 type 类型的 Holder 完全独立,不被复用,最简单的是让 holder 的 setIsRecyclable()可以设置为 false,但是这个会导致一直创建
上篇博客试图采用RecyclerView这个组件来实现一个滑动效果,结果发现大部分代码都是通过java代码来控制填充,设计时不仅操作麻烦(最主要看不懂),而且不能像xml文件一样实时预览效果。...碰巧发现了这篇博客 Android ListView滚动条配置完全解析,详细介绍了ScrollView这个组件的相关配置,非常清楚。我利用ScrollView实现了所需要的目标。...android:textSize="14sp"/> cardview.widget.CardView>...cardview.widget.CardView android:id="@+id/cardView2" android...cardview.widget.CardView android:id="@+id/cardView2" android
CardView就是一个ViewGroup,里面可以放置子布局 CardView android:layout_width="300dp"...兼容性开发 创建layout、layout-v21两套布局,根据下面的差别写两份CardView的布局文件。...其中尤其注意的是stateListAnimator这个属性,如果最小SDK版本低于21,AS就会警告。...是一个自定义的监听接口: public interface HideScrollListener { void onHide(); void onShow(); } 由Activity实现这个接口...private boolean visible = true;//是否可见 //实例化CoordinatorLayout.LayoutParams时反射生成Behavior实例,这就是为什么自定义
领取专属 10元无门槛券
手把手带您无忧上云