首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CardView的那点事儿

↳ android.widget.FrameLayout ↳ android.support.v7.widget.CardView ---- 从官方的文档中我们可以看出: CardView:有圆角的背景和阴影的...CardView 扩展 FrameLayout 类别并让您能够显示卡片内的信息,这些信息在整个平台中拥有一致的呈现方式。CardView 小组件可拥有阴影和圆角。...CardView 在 Android 5.0(API 级别 21)及更高版本中使用真实高度与动态阴影,而在早期的 Android 版本中则返回编程阴影实现。...card_view:cardPreventConrerOverlap 在V20和之前的版本中添加内边距,这个属性为了防止内容和边角的重叠 一般来说和RecyclerView搭配起来使用效果更加~ --...-- 如何使用 添加依赖项 RecyclerView 与 CardView 小组件为 v7 支持内容库的一部分 将这些 Gradle 依赖项添加至您的应用模块 dependencies { ..

1K20

Android Material Design系列之RecyclerView和CardView

去年很早之前,我就讲解过RecyclerView的使用,今天我们就在讲解CardView的时候,顺便再把RecyclerView同时讲解一下。...RecyclerView、CardView为用于显示复杂视图的新增Widget。接下来看看如何使用吧。...建议大家参考: Android新组件RecyclerView介绍,其效率更好(可点击) 更多推荐: 偷懒新姿势,打造属于RecyclerView的万能适配器Adapter和ViewHolder 一种新的...CardView CardView介绍 CardView是Android5.0之后为新增的控件,CardView是一个卡片布局,布局可以包含圆角和阴影,本质上CardView是一个FrameLayout...CardView属性 CardView中常用的属性有: cardElevation:设置阴影的大小 cardBackgroundColor:卡片布局的背景颜色 cardCornerRadius:卡片布局的圆角的大小

2.1K80
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    实现一个带有header和footer功能的RecyclerView

    RecyclerView是Android 5.0版本引入的一个新的组件,目的是在一些场景中取代之前ListView和GridView,实现性能更优的解决方案。...我们知道RecyclerView很灵活,灵活到很多功能需要我们自己实现,比如ListView和GridView中最常用的Item点击事件。...GridLayoutManager 经过上面几步,我们已经构建了一个带有header和footer的adapter。...position 由于加入了header,item的position有了变化,导致了RecyclerView中的一些与position有关方法或使用出现问题。...通过上面的处理,header和footer的功能基本完善了,如果遇到其他问题,可以参照上面两种情况进行处理。 下拉刷新 最后我们再为这个RecyclerView实现下拉刷新和加载更多功能。

    1.8K20

    给 RecyclerView 加上折叠的效果

    RecyclerView 有很高的自由度,可以说只有想不到没有做不到,真是越用越喜欢。这次用超简单的方法,让 RecyclerView 带上折叠的效果。 效果是这样的。...重叠效果 其实就是每一项都搭一部分在它前面那项而已。我们知道,RecyclerView 可以通过设置 ItemDecoration 来实现列表的间隔效果,有没有想过要是把间隔设为负数会怎么样?...设置高度的,这里让每一项的高度比它的上一项高 5dp。...但这也会导致一个问题, 由于改变了控件的位置,当这个控件被复用时,会出现位置不正确的情况。...= 0) { view.setTranslationY(0); } 复制代码 这样就完成了一个带有简单折叠效果的 RecyclerView 了,妥妥的。

    1.5K10

    Material Design 实战 之第四弹 —— 卡片布局

    CardView(这里用于作为recycleview的子项,用于显示水果) 1.1 实际上,CardView也是一个FrameLayout,只是额外提供了圆角和阴影等效果,看上去会有立体的感觉...实际上,CardView也是一个FrameLayout,只是额外提供了圆角和阴影等效果,看上去会有立体的感觉。...AppBarLayout ---- 首先RecyclerView会把Toolbar给遮挡住的原因: 由于RecyclerView和Toolbar都是放置在CoordinatorLayout中的, 而前面已经说过...至此AppBarLayout已成功解决RecyclerView遮挡Toolbar的问题,但是这里还并没有体现AppBarLayout中应用的MaterialDesign设计理念, 其实,当RecyclerView...又会根据当前滚动的距离情况,做出消失或者重新出现的反应; 这其实也是MaterialDesign中的一项重要设计思想,因为当用户在向上滚动RecyclerView的时候,其注意力肯定是在RecyclerView

    2.1K10

    SwipeRefreshLayout和RecyclerView使用的小问题

    SwipeRefreshLayout是官方提供的下拉刷新控件,在使用过程碰到一些小问题和大家分享下....下面的代码只能监听下拉手势所引发的事件 mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener...,但不会触发上面的监听 //这段代码如果写在onCreate方法中是无效的,因为SwipeRefreshLayout控件还未完全加载,可以使用延迟加载的方法使用下面的代码 mSwipeRefreshLayout.setRefreshing...也不会有下拉刷新的视图 RecyclerView有一点想要分享的是,如果你没有把它和Adapter关联,他会跳过加载,不会实际去初始化这个控件,虽然在布局代码写着 这个和我上面提到SwipeRefreshLayout...提到那个问题放在一起使用,就会产生你下拉不会触发事件的问题.

    1.7K40

    RecyclerView面试宝典:7大高频问题解析,面试必备!

    灵活的数据更新:RecyclerView提供了局部更新方法,如notifyItemInserted()、notifyItemRemoved()和notifyItemChanged()等。...如notifyItemChanged(int position)方法。 ViewHolder:代表列表中的每个项的视图容器。...清理和完成:最后,RecyclerView完成更新流程,清理所有临时标记和缓存。 实战使用 问题: 在RecyclerView中,如何只刷新列表项中的某个控件而不是整个item?...改善动画效果:在数据集发生变化时(如添加、移除、移动等),如果开启了稳定ID,RecyclerView可以更准确地识别和定位变化的项,从而产生更平滑的动画效果。...为了正确使用稳定ID,需要重写Adapter的getItemId(int position)方法,返回每个项的唯一ID。 性能优化 问题: 做过RecyclerView性能优化吗?说下你是如何做的?

    50800

    Android5.0新特性-Material Design

    概述 2014年,Google携Android5.X重装归来,全新的UI设计和更加优化的性能,令开发者眼前一亮 安装和配置Android5.0开发环境 开发Android还得靠AS,下载地址 http...让视图产生阴影 使用RecyclerView和CardView 定制动画 intel x86模拟器 下载和安装intel x86模拟器加速器 之前的ARM模拟器,是以软件的形式模拟,所以很慢~x86可以选这使用宿主机器的...RecyclerView 详见本人另一篇博客 RecyclerView完全解读 ---- 立体卡片CardView 详情请查看鄙人CradView的使用 ---- 视图和阴影 Material Design...影响视图阴影的因素 以往的Android View通常有2个属性——X和Y,而在Android5.X中,Google为其增加了一个新的属性 —Z,对应垂直方向上的高度变化。...Z = elevation + translationZ 通过布局文件和Java代码设置视图的阴影 通过布局文件设置 在xml中设置View的视图高度 android:elevation="Xxdp"

    59620

    CardView外侧白边、Button自带padding、ImmersionBar使用setTitleBar 高度失效

    CardView外侧白边问题: 在CardView外层加上一层布局包裹,如ConstraintLayout或LinearLayout,则RecyclerView显示时中间分割处会显示淡色白边。...Button自带padding: 使用 Button 或 AppCompatButton 控件时,会有一个固定的高度,并且间距还很大。是因为控件本身就设有一个属性minHeight 导致的。...ImmersionBar 使用setTitleBar 1.高度失效: 使用状态栏三方框架 ImmersionBar , setTitleBar (给置顶布局上放加一个状态栏的paddingTop)。...设置后会发现里面的子布局错乱了,里面使用的垂直居中失效了。解决:外层布局换成 ConstraintLayout就可以了。...2.如果setTitleBar里布局是(ToolBar),恰好设置了背景颜色,且颜色值使用了透明度,如#4400ff00,则ToolBar的阴影会失效!将颜色值透明度去掉换成正常的就好了。

    1.5K30

    Android面试之3个RecycleView经典面试题

    解答: 在RecyclerView中,可以通过调用Adapter的notifyItemChanged(int position, Object payload)方法实现局部刷新,其中payload参数用于指定具体需要更新的控件或数据...实现步骤: 1、 调用局部刷新方法: 使用notifyItemChanged(int position, Object payload)方法来通知RecyclerView某个位置的数据发生了变化。...2、 在Adapter中处理局部刷新: 在Adapter的onBindViewHolder方法中,通过检查payloads参数来区分是进行整个项的全量更新还是仅更新特定控件。...6、 减少过度绘制: 通过分析布局的过度绘制情况,优化Item的布局,减少不必要的背景和透明度使用,降低渲染压力。...解答: RecyclerView通过GapWorker类和预加载机制来实现预加载。预加载机制可以提前加载即将显示的视图,提高滑动的流畅性。

    17710

    RecyclerView局部刷新机制——payload

    之前在使用RecyclerView的遇到过一个问题,使用notifyItemChanged刷新数据的时候会出现重影或者闪烁的现象。...这个问题很容易出现,当我们的列表中有进度显示(比如下载),这时候需要不停的更新进度,就需要使用notifyItemChanged 使用notifyItemChanged可以只刷新那一个item,这样就避免了像...ListView那样全部刷新 但是如果使用notifyItemChanged(position),在滑动的时候刷新就会出现重影或者闪烁的问题。...解决这个问题很简单,将notifyItemChanged(position)替换为notifyItemChanged(position,0)即可。 测试问题确实解决了,但是为啥?这个参数有啥用?...总结 payload机制作用很大,尤其是当RecyclerView中的每个Item布局和数据比较复杂,需要单独更新的时候。使用payload不仅仅解决闪烁和重影问题,也会使更新更高效,减少资源开销。

    3.3K30

    Material Design 在 Android 中的应用

    4、风格背景 文字采用圆角+阴影进行包裹,至于高度和圆角效果因为时间紧迫,没有按照严格规范进行设置,如果对这方面有要求可以参考官网详细的规范要求。 ?...项目中列表肯定是少不了的,那么这就不得不提RecyclerView了,强大之处不用多说,感兴趣的话看一下我之前写的博客,对其使用有个简单的介绍:简单粗暴RecyclerView 那如果想实现侧滑删除和长按拖拽的功能怎么办呢...onItemDismiss(viewHolder.adapterPosition) } } 和RecyclerView建立连接 val mItemTouchHelper...6、CardView 列表结构写好了,里面内容得优化吧,CardView自带圆角和阴影效果,让每个Item看起来就非常的自然,正如其名像卡片一样,也符合了Material Design特点。...作为ViewGroup包裹子View实现圆角和阴影的效果: CardView android:layout_width="wrap_content

    1.3K20

    再也不用担心面试官问RecycleView了

    关于RecyclerView,之前我写过一篇比较基础的文章,主要说的是缓存和优化等问题。但是有读者反映问题不够实际和深入。...于是,我又去淘了一些关于RecyclerView的面试真题,大家一起看看吧,这次的问题如果都弄懂了,下次面试再遇到RecyclerView应该就没啥可担心的了。...RecyclerView预取机制 这两个问题都是关于缓存的,我就一起说了。...5)总结,问题怎么答呢? 四级缓存和流程说一下。 滑动10个,再滑回去,bindview可以是19次调用,可以是16次调用。...关于RecyclerView的数据更新,主要有以下几个方法: notifyDataSetChanged(),刷新全部可见的item。*notifyItemChanged(int),刷新指定item。

    1.5K20
    领券