去年很早之前,我就讲解过RecyclerView的使用,今天我们就在讲解CardView的时候,顺便再把RecyclerView同时讲解一下。...RecyclerView、CardView为用于显示复杂视图的新增Widget。接下来看看如何使用吧。...是复用的,在RecyclerView中,是把ViewHolder作为缓存的单位了,然后convertView作为ViewHolder的成员变量保持在ViewHolder中,也就是说,假设手机屏幕可显示10...所以要使用RecyclerView,要好好考虑以下几点: RecyclerView.Adapter:RecyclerView.Adapter包含了一种新型适配器,其实与以前我们使用的适配器基本类似,只是稍微有所不同...ItemAnimator:ItemAnimator简单来说是会根据适配器上收到的相关通知去动画的显示组件的修改,添加和删除等。它会自动添加和移除item的动画。自带的默认效果也不错,已经非常好了。
前言 给大家推荐个好用RecyclerView适配器,也就是在百篮应用里用到的适配器。为了大家学习方便,这里简单的写下如何使用这个适配器,不做代码具体的分析,有兴趣的可以自己看下源码。...这次我们没有传入item布局,而是在MultiItemTypeAdapter中有创建2个实现ItemViewDelegate的适配器,因为从效果图上也可以看出,是2中不用的效果所以两种效果各自用各自的适配器然后在...clipard.png 在使用时我们先创建SectionRVAdapter他是给RecyclerView添加标题布局的一个适配器。...然后调用他的addSection()方法加入我们创建好的适配器就可以使用了。这里添加了三组,更多的话可以利用循环。...---- 结语 这个适配器称之为万能适配器我觉得都不为过。不管你是多复杂的布局只要用到RecyclerView,全部都能实现。用法基本上都讲到了,也全都覆盖了。里面没有讲到的大家可以再继续研究。
之后还要设置适配器, 我们到适配器那部分再说. 先用最简单的LinearLayoutManager....(this)); RecyclerView提供这些内置布局管理器: LinearLayoutManager以垂直或水平滚动列表方式显示项目 GridLayoutManager在网格中显示项目 StaggeredGridLayoutManager...在分散对齐网格中显示项目 ---- CardView使用 我们将每一个CardView视为RecyclerView的item, 所以就不加布局, 直接上CardView了....在给CardView添加点击特效部分结束之后会给出完整的效果图....建包 ---- 为CardView添加更多内容 CardView不可能说只能显示文字, 那如何添加图标或者图片呢?我只能说异常简单, 看代码: <?
布局类 效果 LinearLayoutManager 以垂直或水平滚动列表方式显示项目 GridLayoutManager 在网格中显示项目 StaggeredGridLayoutManager 在分散对齐网格中显示项目...= new LinearLayoutManager(this); mRvMain.setLayoutManager(linearLayoutManager); 最关键的还是适配器的撰写....但是理解起来不是很难, 你只要将ListView的适配器写法带入理解就好. 这里把全部代码贴出来, 因为后面要在这个基础上不断扩充....更多 是不是感觉特别爽, 那看看更爽的, 在不写适配器的情况下快速添加条目: final ArrayList mData = new ArrayList(); for (int...快速添加条目 是不是感觉省了一万个小时呢. ---- 让RecyclerView支持复杂视图 每次加入新的视图都要对适配器进行比较大程度的改动, 这样是很容易出错的.
CardView(这里用于作为recycleview的子项,用于显示水果) 1.1 实际上,CardView也是一个FrameLayout,只是额外提供了圆角和阴影等效果,看上去会有立体的感觉...> 接下来需要为RecyclerView准备一个适配器, 适配器中除了RecycleView的设计逻辑之外,这里需要注意的是, 在onBindViewHoIder...> 这里使用了CardView来作为子项的最外层布局,从而使得RecyclerView中的每个元素都是在卡片当中的。...内容的话就是 定义了ImageView用于显示水果的图片, 定义了TextView用于显示水果的名称,并让TextView在水平方向上居中显示。...这样RecyclerView的适配器便准备好了,最后修改MainActivity中的代码: ? ? ?
点击添加、左滑删除、长按移动交换 RecyclerView的item.gif 1、Item 操作的接口 /** * 作者:张风捷特烈 * 时间:2018/9/17 0017:14:18...适配器 */ public class MyAdapter extends RecyclerView.AdapterRecyclerView.ViewHolder> implements ItemChangeAdapter...> CardView xmlns:android="http://schemas.android.com/apk/res/android"...#000000" android:textSize="@dimen/dp_16"/> CardView...> 后记、 1.声明: [1]本文由张风捷特烈原创,转载请注明 [2]欢迎广大编程爱好者共同交流 [3]个人能力有限,如有不正之处欢迎大家批评指证,必定虚心改正 [4]你的喜欢与支持将是我最大的动力
;最后采用的是腾讯x5内核; 5、Https 证书支持(浏览器获取证书方式); 6、Glide v3.7 加载Gif 的时候,缓存策略不能使用Result,不然显示不出来; 7、一个类中内部类又调用其他内部类的...所以最后你是不是发现混淆和不混淆怎么都一样了?! 我在抄 zxing 的时候不小心引入了。...在子View是动态测量设置宽度或者高度时也是有问题的; 16、CardView 默认是带有背景色的,在特定情况下,会出现背景色覆盖不了的情况。...另外 CardView 阴影效果实现机制不一样,这个导致在5.0前后是有差异性的; 17、 友盟的QQ分享 需要记得替换,不然回调异常; 18、RecyclerView 未设置 LayoutManager...()' is inaccessible to class 'com.google.firebase.iid.zzg',说到底,这个还是集成版本太旧的问题,如何解决呢?
parent, false); view.setOnClickListener(this); return new ViewHolder(view); } 此处传入的parent...即为item的根布局
前言 前面我们有介绍RecyclerView的使用,详见《Android中RecyclerView嵌套RecyclerView》,这一篇我们来讲讲RecyclerView的不规则Grid显示。...从上图里面我们可以看到,我们在单元模块中有标题栏和功能项,其实这个都昌在一个RecyclerView中实现的,下面我们就来介绍一下实现的方法。...> menuclass; //是否标题 public boolean istitle; } ---- 然后再写一个方法,创建我们开始上图中所需要显示的标题及功能 menuopt package...然后我们看一下RecyclerView的布局 rcl_menu.xml 的地方,判断类里面是不是标题用于显示几列的情况。
和RecyclerView结合实现下拉刷新,以及RecyclerView的数据适配器RecyclerView.Adapter的用法,还有RecyclerView中item的点击事件的实现方法; 卡片式CardView...-- Tabs选项卡,和ViewPager搭配使用可以增大界面的内容展示量,实现各种个性化分类内容展示而不互相干扰!...-- CardView就是一个卡片样式的FrameLayout。...app:cardUseCompatPadding : 设置内边距,v21+的版本和之前的版本仍旧具有一样的计算方式 --> CardView xmlns...-- 一个显示圆形头像的自定义ImageView --> <com.sunjiajia.androidnewwidgetsdemo.view.RoundedImageView
前言 之前写过一篇代码动态增删布局的, 对比下这次的RecyclerView增删item, 说句实话, 代码动态增删布局基本可以退群了. ---- 增删item 当然首先你可以按照第一篇-界面无小事...(一): RecyclerView+CardView了解一下建立基础的RecyclerView....这次的关键是在适配器代码中加入增删item的操作. 要注意一点, 刷新和原来在ListView的操作是不一样的....效果图 不单单是我演示的这种布局, 还有线型的, 横向的, 瀑布流都可以有这种类似效果. 可参考界面无小事(二): 让RecyclerView展示更多不同视图...., 需要几个步骤 在Module的build.gradle中写入 dependencies { implementation 'jp.wasabeef:recyclerview-animators
/black" android:text="热门城市" /> recyclerview.widget.RecyclerView...上图中标出来的就是新增的,然后创建一个显示弹窗的方法 /** * 显示选择类型弹窗 */ private void showTypeWindow() { liWindow...,而popupWindow显示依赖activity,并且要等activity所有的生命周期方法全部执行完成才能显示,所以这里新开一个线程用于显示 ?..." android:src="@mipmap/icon_open_orange" /> cardview.widget.CardView...这样传入的类型就会影响到适配器中的样式了,最后一步就是在getHotCityResult方法中对返回值中做数据的处理了。 ?
Bmob的使用,比较简单,所以略过不总结。...第十三章 Android实例提高 该章主要介绍了拼图游戏和2048的小项目实例,主要是代码,所以略过不总结。...(5)列表和卡片 RecyclerView和CardView是support-v7包中新添加的组件,使用它们需要引用依赖com.android.support:recyclerview-v7:x.y.z...在XML布局文件中使用CardView的时候还需要引入其命名空间xmlns:cardview=http://schemas.android.com/apk/res-auto。...通知的显示等级 Android 5.x将通知分为了三个等级: VISIBILITY_PRIVATE:表明只有当没有锁屏的时候才会显示; VISIBILITY_PUBLIC:表明任何情况下都会显示; VISIBILITY_SECRET
最近的项目中实现订单确定页面。...需要使用ScrollView嵌套RecyclerView,当RecyclerView中的item数量比较多时,就会出现item只显示一部分数据,并没有将用户勾选的商品数量全部显示出来,这个时候就需要我们做一下处理了...NestedScrollView支持嵌套滑动,既能填item显示不全的坑,又可以填嵌套滑动卡顿的坑。不了解的童鞋可以去学习一波,这里就不做详细的说明了。...(2)、使用代码设置recyclerView.setNestedScrollingEnabled(false)即可。...2、在RecyclerView的外面嵌套一层RelativeLayout,然后添加属性 android:descendantFocusability="blocksDescendants".
继续使用WidgetSample工程的advancedviewsample模块,首先需要添加支持库,具体操作步骤同之前分享的揭开RecyclerView庐山真面目,这里不再重复分享。...这次输入的关键字是cardview,即可完成CardView依赖库的添加。...三、CardView示例2 CardView被包装为一种布局,并且经常在ListView和RecyclerView的Item布局中,作为一种容器使用。...CardView应该被使用在显示层次性的内容时;在显示列表或网格时更应该被选择,因为这些边缘可以使得用户更容易去区分这些内容。...接下来简单定义一个CardView的item项,并在Java代码中修改CardView的属性,关于结合ListView和RecyclerView的部分比较简单,这里不做过多介绍。
----------抽屉部分结束----------- tab layout 和view pager 实现联动效果: // 初始化ViewPager的适配器,并设置给它...显示ViewPager的适配器中的getPageTitle函数获取到的标题 tabLayout.setTabsFromPagerAdapter(mViewPagerAdapter); RefreshLayout...-- 使用RecyclerView需要在build.gradle中添加 compile 'com.android.support:recyclerview-v7...:23.3.0' --> RecyclerView android:id="@+id/id_recyclerview...cardview 比较简单就不说了,toolbar的用法会在下次给出好的例子。
聊聊RecyclerView缓存机制和详细聊聊RecyclerView缓存机制,前者主要是介绍各个层级缓存的作用以及它们之间的区别,后者主要是从源码的角度讲解缓存是怎么实现的。...当我们穷尽所有方法,把RecyclerView调优方案都用尽了的时候,用好ViewCacheExtension就成了将RecyclerView性能优化到极致的最后一公里。...itemView布局文件代码如下: cardview.widget.CardView xmlns:android="http://schemas.android.com/apk...orientation="horizontal" android:padding="@dimen/small" android:textSize="14sp" /> cardview.widget.CardView...item布局中padding显示出来 val itemView = LayoutInflater.from(this@AActivity)
使用RecycleView和CardView展示已安装应用的包名和图标 ① 获取安装的应用信息 public class ApkInfos { Context mContext;...e.printStackTrace(); } return Name; } } ② Adapter添加数据 public class AppsAdapter extends RecyclerView.Adapter...{ public CardView cardView; public ImageView imageView; public TextView textView_App_Name...ApplicationPackageName); viewHolder.imageView.setImageDrawable(drawable); //添加点击事件直接打开已安装的应用...= new ApkInfos(this).GetAllInstalledApkInfo(); AppsAdapter adapter=new AppsAdapter(this,appInfos); recyclerView.setAdapter
RecyclerView 有很高的自由度,可以说只有想不到没有做不到,真是越用越喜欢。这次用超简单的方法,让 RecyclerView 带上折叠的效果。 效果是这样的。...我们知道,RecyclerView 可以通过设置 ItemDecoration 来实现列表的间隔效果,有没有想过要是把间隔设为负数会怎么样?...当然,我们要用 Material Design 的控件才有这个属性,这里我用的是 CardView。...= null) { if (view instanceof CardView) { ((CardView) view).setCardElevation(dp2px...= 0) { view.setTranslationY(0); } 复制代码 这样就完成了一个带有简单折叠效果的 RecyclerView 了,妥妥的。
领取专属 10元无门槛券
手把手带您无忧上云