首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    RecyclerView性能优化的最后一公里

    聊聊RecyclerView缓存机制和详细聊聊RecyclerView缓存机制,前者主要是介绍各个层级缓存的作用以及它们之间的区别,后者主要是从源码的角度讲解缓存是怎么实现的。...当我们穷尽所有方法,把RecyclerView调优方案都用尽了的时候,用好ViewCacheExtension就成了将RecyclerView性能优化到极致的最后一公里。...itemView布局文件代码如下: cardview.widget.CardView xmlns:android="http://schemas.android.com/apk..." /> cardview.widget.CardView> 程序运行结果如下: 我们通过Systrace来看下RecyclerView性能表现 通过上图我们可以看到。...布局间距不正确。解决方案:先将itemView add到临时viewGroup上,然后remove掉。 缓存复用不正确。解决方案:反射设置ViewHolder的itemViewType。 缓存不够用。

    1.4K20

    Android Material Design系列之RecyclerView和CardView

    RecyclerView、CardView为用于显示复杂视图的新增Widget。接下来看看如何使用吧。...ItemAnimator:ItemAnimator简单来说是会根据适配器上收到的相关通知去动画的显示组件的修改,添加和删除等。它会自动添加和移除item的动画。自带的默认效果也不错,已经非常好了。...第一步:添加布局状态标识,并增加一项FooterView 在adapter中声明布局状态标识,是普通布局还是foot布局 private static final int TYPE_NORMAL_ITEM...CardView CardView介绍 CardView是Android5.0之后为新增的控件,CardView是一个卡片布局,布局可以包含圆角和阴影,本质上CardView是一个FrameLayout...> android.support.v7.widget.CardView> 最后友情提醒一下,使用CardView别忘了添加依赖: compile 'com.android.support:cardview-v7

    2.1K80

    项目需求讨论 — 用Transition做一个漂亮的登录界面

    最后的效果如下图所示(其中layout布局我就直接从github上面拷贝过来了): ? ---- 基础 首先我们来看下什么是Transition。...从API 1就存在的Drawable Animation和View Animation,以及API 11(Android 3.0)以后加入的Property Animation。...当一个场景改变的时候,transition主要负责: (1)捕捉每个View在开始场景和结束场景时的状态。 (2)根据两个场景(开始和结束)之间的区别创建一个Animator。...随着动画的进行,framework 逐渐将B的activity窗口显示出来,当动画完成,B的窗口才完全可见。...所以我们知道了,我们点击fab键返回的时候不能直接finish,而是最后一步是调用super.onBackPressed();。

    1.8K20

    一个卡片式的ViewPager,带你玩转ViewPager的PageTransformer属性!

    2.一个页面显示多个ViewPager的Item 我们要来解决的第一个问题是如何在一个页面上显示ViewPager的多个item,一共有两种解决方案,第一种就是我们上文所说的clipChildren属性...OK,那我们来看看显示效果: OK,就是这么简单,这样,我们现在已经可以在一个页面上来显示多个ViewPager中的item,接下来我们先来看看PageTransformer的简单使用。...5.ViewPager结合CardView 如果你还不会使用CardView,可以参考我之前的文章Android5.0之CardView的使用,那今天我们来看看ViewPager结合CardView会产生怎样的效果呢...这个CardView式的ViewPager我们就使用这种方式来实现。先来看看效果图: 整体思路和上文其实是一致的,我们来看看activity的布局: android.support.v7.widget.CardView android:id="@+id/cardview"

    1.4K20

    CardView的那点事儿

    ↳ android.widget.FrameLayout ↳ android.support.v7.widget.CardView ---- 从官方的文档中我们可以看出: CardView:有圆角的背景和阴影的...CardView 扩展 FrameLayout 类别并让您能够显示卡片内的信息,这些信息在整个平台中拥有一致的呈现方式。CardView 小组件可拥有阴影和圆角。...CardView 在 Android 5.0(API 级别 21)及更高版本中使用真实高度与动态阴影,而在早期的 Android 版本中则返回编程阴影实现。...card_view:contentPaddingStart card_view:contentPaddingEnd card_view:cardUseCompatPadding 设置内边距,V21+的版本和之前的版本仍旧具有一样的计算方式...card_view:cardPreventConrerOverlap 在V20和之前的版本中添加内边距,这个属性为了防止内容和边角的重叠 一般来说和RecyclerView搭配起来使用效果更加~ --

    1K20

    CardView 简介和使用

    在使用 CardView 之前,多少应该对它有一定的了解,下面将对其实现做简单的介绍。 自定义属性 CardView 继承自 FrameLayout,并在其基础上添加了圆角和阴影等效果。...class CardView extends FrameLayout { 这些属性的作用和用法如下: CardView_cardBackgroundColor        设置背景色 CardView_cardCornerRadius...设置z轴最大高度值 CardView_cardUseCompatPadding       是否使用CompadPadding 设置内边距,V21+的版本和之前的版本具有一样的计算方式。...CardView_cardPreventCornerOverlap   是否使用PreventCornerOverlap 在V20和之前的版本中添加内边距,这个属性为了防止内容和边角的重叠 CardView_contentPadding...最后这一系列操作的示意图大致是这样的: 这一系列的操作,将 CardView 的实现分成多个类,各个类只处理和自己相关的逻辑,简化了 CardView 自身逻辑。

    1.3K10

    安卓阴影实现

    1. elevation(组件属性) 优点:绘制效率高,使用自带的api不用添加多余的drawable文件,并且支持 translationZ 动画方便实现点击的动画效果;不占位 缺点:低版本不显示...CardView(组件自带) 优点:CardView是自带阴影的是Materail设计的组件,效率高;不占位 缺点:阴影方向颜色不可控; 注意:CardView模拟的光源在屏幕中心正上方阴影显示角度会有所差异...SCardView 同CardView显示效果,可通过代码调整边角光源调整阴影方向和颜色,但需考虑版本兼容性问题; 5....自定义View 理论上我们想要的阴影效果都可以实现,但是如果脱离了系统原生属性就需要考虑的太多; 自定义阴影针对特殊的载体样式和阴影,代码实现较为复杂,绘制成本较高,非必要情况下不建议; 作者:owlling...然后这里我采取的是这篇文章的方式 https://xiaozhuanlan.com/topic/6538724091 最后的xml布局: <com.ruben.customviews.ShadowViewCard

    9710

    ConstraintLayout约束控件详解

    初次尝试 在讲解原理和其他知识之前,我们先尝试下ConstraintLayout 1,首先在项目中添加依赖: dependencies { compile 'com.android.support.constraint...眼睛图标:用来控制是否显示约束的东西。 ? 磁铁图标:用来自动吸附的东西,就是说两个按钮放在一起的时候会自动按照一定的约束条件进行链接。 ?...4.最后我们同时添加图片左边与右边的约束使其居中对齐。 ? 5.添加基线约束。 ? 属性面板 首先我们在屏幕上添加一个图片控件,并添加四边约束到根布局,此时我们看见的界面是这样的: ?...在属性面板的上面部分是我们的检查员(Inspector),在这个视图中显示了当前选中的控件的约束情况。根据意思很好理解,这里就不详述了。...这种效果在机顶盒中是经常看到的,我们分析下我们使用普通的控件的实现: 界面左侧和右侧高度是总高的1/3, 下面宽度为3/12、2/12、2/12、2/12, 3/12; 中间大图宽高分别为:1/2、 2

    1.2K50

    Android开发中常见的优惠券样式实现和需要注意的细节

    效果图 主要是中间的两个半圆和虚线的实现,其他都比较简单。但是其中也会涉及到一些细节性的东西,后面讲。 item布局 整体分为三部分:左边、中间、右边,即以虚线为分割。 android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"...> android.support.v7.widget.CardView> 半圆和虚线的实现 这里都是用shape的方式完成的。...最外层用的是CardView,效果图中看起来还是蛮不错的,但是在5.0以下,CardView显示内部会有留白,那两个半圆就会显示在白色的背景之内,极其影响美观,所以就可以根据5.0为分水岭做一个判断,具体可查看解决...CardView在5.0以下留白的问题。

    60720

    Android开发笔记(一百二十四)自定义相册

    该方法与下面的setImageDrawable和setImageURI为三选一操作,调用了其中一个方法,就无需调用另外两个方法。...在5.0中引入的调色板控件,它用于分析一个位图对象的整体色调,最后给出样品的色彩RGB值,这样开发者就可以根据具体图片动态设置整个页面的背景色,从而实现统一的页面风格。...CardView源码中引用了android.support.v7.cardview.R.styleable,而开发者自己的工程包名不是android.support.v7.cardview,所以就会找不到这个...2、把project.properties里面的“target=android-19”改为“target=android-21”,注意库工程和自己的工程都要改。...3、库工程和自己的工程都Clean Project,然后再编译运行。

    2K20

    Android之ListView,AsyncTask,GridView,CardView,本地数据存储,SQLite数据库

    如我们要在要显示系统所有app列表项时,需要左边appimage视图和右边文本视图。...:后台执行和耗时的操作都在这里。 onPostExecute(Result):此方法在主线程中执行。 onProgressUpdate(Progress):使用此方法显示任务执行的进度。...:layout_width="match_parent" android:layout_height="match_parent"/> CardView CardView也是一种布局,像卡片一样,有点像公号推文一样...,具有阴影效果和圆角,这种常用新闻视频之类控件,是Android5.0新增,使用时需要导入com.android.support:cardview-v7:~更加自己版本号统一。...和两种方法rawQuery():用于查询和execSQL():用于增删改查。在Android提供了SQLiteDatabase创建对象,运用不用写数据库语法封装好的API类。

    1.3K20
    领券