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

Android Material Design系列之RecyclerView和CardView

去年很早之前,我就讲解过RecyclerView的使用,今天我们就在讲解CardView的时候,顺便再把RecyclerView同时讲解一下。...是复用的,在RecyclerView中,是把ViewHolder作为缓存的单位了,然后convertView作为ViewHolder的成员变量保持在ViewHolder中,也就是说,假设手机屏幕可显示10...注意的是:RecyclerView不提供ListView中的setOnItemClickListener方法,我们可以在ViewHolder中添加类似的点击事件。...前面我们介绍RecyclerView时,说过RecyclerView适合多种嵌套的布局效果, ViewHolder更适合多种子布局的列表。...CardView属性 CardView中常用的属性有: cardElevation:设置阴影的大小 cardBackgroundColor:卡片布局的背景颜色 cardCornerRadius:卡片布局的圆角的大小

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

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

    然后在app/build.gradle文件中声明RecyclerView、CardView这几个控件对应的库的依赖: compile 'com.android.support:recyclerview-v7...> 这里使用了CardView来作为子项的最外层布局,从而使得RecyclerView中的每个元素都是在卡片当中的。...CardView由于是一个FrameLayout,因此它没有什么方便的定位方式,这里只好在CardView中再嵌套一个LinearLayout,然后在LinearLayout中放置具体的内容。...AppBarLayout ---- 首先RecyclerView会把Toolbar给遮挡住的原因: 由于RecyclerView和Toolbar都是放置在CoordinatorLayout中的, 而前面已经说过...又会根据当前滚动的距离情况,做出消失或者重新出现的反应; 这其实也是MaterialDesign中的一项重要设计思想,因为当用户在向上滚动RecyclerView的时候,其注意力肯定是在RecyclerView

    2.1K10

    CardView的那点事儿

    CardView 扩展 FrameLayout 类别并让您能够显示卡片内的信息,这些信息在整个平台中拥有一致的呈现方式。CardView 小组件可拥有阴影和圆角。...CardView 在 Android 5.0(API 级别 21)及更高版本中使用真实高度与动态阴影,而在早期的 Android 版本中则返回编程阴影实现。...如需了解详细信息,请参阅保持兼容性 使用以下属性定制 CardView 的外观: 如果要在布局中设置圆角半径,请使用 card_view:cardCornerRadius 属性。...如果要在代码中设置圆角半径,请使用 CardView.setRadius 方法。 如果要设置卡片的背景颜色,请使用 card_view:cardBackgroundColor 属性。...,V21+的版本和之前的版本仍旧具有一样的计算方式 card_view:cardPreventConrerOverlap 在V20和之前的版本中添加内边距,这个属性为了防止内容和边角的重叠 一般来说和RecyclerView

    1K20

    学会使用CardView,简单实现卡片式布局效果

    都掌握的怎么样啊 安卓中一些常用控件学习得差不多了,今天再来学习一个新的控件CardView,在实际开发中也有非常高的地位。...这里有一点需要值得注意,之前学习到的控件属性都是android:开头的,而这里所列的属性是app:开头的,如果继续使用默认的会提示找不见对应属性,需要我们定义一个app命名空间,在布局文件中需要加入xmlns...三、CardView示例2 CardView被包装为一种布局,并且经常在ListView和RecyclerView的Item布局中,作为一种容器使用。...CardView应该被使用在显示层次性的内容时;在显示列表或网格时更应该被选择,因为这些边缘可以使得用户更容易去区分这些内容。...接下来简单定义一个CardView的item项,并在Java代码中修改CardView的属性,关于结合ListView和RecyclerView的部分比较简单,这里不做过多介绍。

    3.3K70

    给 RecyclerView 加上折叠的效果

    RecyclerView 有很高的自由度,可以说只有想不到没有做不到,真是越用越喜欢。这次用超简单的方法,让 RecyclerView 带上折叠的效果。 效果是这样的。...我们知道,RecyclerView 可以通过设置 ItemDecoration 来实现列表的间隔效果,有没有想过要是把间隔设为负数会怎么样?...层次感 在 Material Design 里是有Z轴这个概念的,我们可以给控件设置垂直于屏幕的高度,让不在同一高度的控件看起来有层次感。...设置高度的,这里让每一项的高度比它的上一项高 5dp。...所以我们在设置高度的时候,可以顺便把控件的位置复原了: float translationY = view.getTranslationY(); if (i > firstPosition && translationY

    1.5K10

    深度学习中激活函数的导数在不连续可导时的处理

    Q: 深度学习中激活函数在不连续可导时的导数怎么处理呢? A: 激活函数不要求处处连续可导,在不连续可导处定义好该处的导数即可。 sigmoid函数是处处连续可导的。其他如ReLU,在0处不连续可导。...---- 以caffe中的ReLU为例 在caffe中,给定输入x, ReLU层可以表述为: f(x) = x, if x>0; f(x) = negative_slope * x, if x 0时,ReLU是leaky ReLU. negative_slope默认为0, 即标准ReLU。...如下图代码所示,Backward_cpu中bottom_data(即输入x)=0时,导数为negative_slope。...[relu_layer.cpp] ---- 常见激活函数和导数 不连续可导处的导数值取derivative(x+)还是derivative(x-),不同框架如pytorch, caffe, tensorflow

    3.1K00

    一个Demo学会用Android兼容包新控件

    和RecyclerView结合实现下拉刷新,以及RecyclerView的数据适配器RecyclerView.Adapter的用法,还有RecyclerView中item的点击事件的实现方法; 卡片式CardView...本例中,TabLayout在界面滚动时,随着Toolbar的逐渐隐藏,将占据Toolbar的位置, 达到节省屏幕空间,界面动画效果的目的。...enterAlwaysCollapsed: 当你的视图已经设置minHeight属性又使用此标志时,你的视图只能以最小高度进入,只有当滚动视图到达顶部时才扩大到完整高度。...exitUntilCollapsed: 当视图会在滚动时,它一直滚动到设置的minHeight时完全隐藏。...当设置了layout_behavior的控件滑动时,就会触发设置了layout_scrollFlags的控件发生状态的改变。

    1.5K40

    Android5.0新特性-Material Design

    ,如悬浮按钮,聚焦大图、无框按钮、波纹效果等新特性 具体可参考 http://www.google.com/design/#resources 材料设计能做哪些工作 保证向后的兼容性 使用材料设计的主题...让视图产生阴影 使用RecyclerView和CardView 定制动画 intel x86模拟器 下载和安装intel x86模拟器加速器 之前的ARM模拟器,是以软件的形式模拟,所以很慢~x86可以选这使用宿主机器的...RecyclerView 详见本人另一篇博客 RecyclerView完全解读 ---- 立体卡片CardView 详情请查看鄙人CradView的使用 ---- 视图和阴影 Material Design...在Android5.x中,View的Z值由 elevation + translationZ(这两个都是5.x引入的新特性)组成。...Z = elevation + translationZ 通过布局文件和Java代码设置视图的阴影 通过布局文件设置 在xml中设置View的视图高度 android:elevation="Xxdp"

    59620

    曝光埋点方案:recyclerView中的item曝光逻辑实现

    电商app的首页,一般是可滑动列表,当用户上下滑动时,列表中的item可能会多次出现在屏幕上。某个item从出现到消失的过程大于某一时间(比如1s),就认为是一次曝光。...有横(竖)滑的模块 的子view:若模块可见,就上报 当前子列表中 的可见子模块 ;同时处理子列表滑动时的item可见性;模块不可见,那当前子列表的可见view上报不可见。...是可能多次曝光的,在列表 静止、手指拖动、快速滑动时都要 监听item的可见性,然后把可见或不可见回调,然后根据position具体上报item信息。...如果item内部 是 可滑动的recyclerView,那么就item可见时 子列表也做滚定监听就可以了,即内部的recyclerView也是用setRecyclerItemExposeListener...建议,调用setRecyclerItemExposeListener给recyclerView设置曝光监听的listener直接传adapter,在adapter实现回调方法,然后就可以根据回调的position

    5.8K10

    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
    领券