最近在学习了一个RecyclerView新的组件--ConcatAdapter,今天打算写一篇文章来学习一下它的源码实现。在这之前,我就学习过ConcatAdapter的...
最近在学习了一个RecyclerView新的组件--ConcatAdapter,今天打算写一篇文章来学习一下它的源码实现。在这之前,我就学习过ConcatAdapter的...
问题描述 最近在项目中遇到一个关于共享元素动画失效的问题,在Activity跳转时使用ActivityOptionsCompat.makeSceneTransitionAni...
在 5.0 之前我们可以通过 activity.overridePendingTransition() 实现滑动动画、渐变动画、缩放动画等。在 5.0 版本之后,可以使用 a...
原创内容,转载请注明出处,多谢配合。 一、Android输入系统介绍 牵涉到的模块: InputReader: 负责从硬件获取输入,转换成事件(Event), 并传给Inpu...
前言 RecyclerView这个控件几乎所有的Android开发者都使用过(甚至不用加几乎),它是真的很好用,完美取代了ListView和GridView,而Recycle...
在Android开发中我们经常使用LayoutInflater,俗称布局填充器,使用它来把布局转为一个View。一般来讲可能采用的方式如下: 调用其静态from方法,获取La...
看楼主这篇博客的人肯定不少, 我这里说一下我自己的看法, 如果有不对的地方, 希望有人能给与指正, 执行onLayout时, 数据会被全部放到mAttachedScrap里面, 然后绘制时从mAttachedScrap中取数据, onLayout执行完成以后mAttachedScrap清空, 超出屏幕的数据被放置到mCacheViews内部, 超出mCacheViews大小之后, 旧的ViewHolder被移动到RecyclerPool中, 然后获取ViewHolder缓存时, 如果ViewHolder是从RecyclerPool中获取的, 则对ViewHolder进行清空操作, createViewHolder时, ViewHolder已经与View进行了绑定, 而bindView是将ViewHolder的itemView与数据进行关联, 所以如果ViewHolder是从mCachedViews中获取的, 则与ViewHolder.mItemView关联的数据也会被复用, 而从RecyclerPool中获取到ViewHolder时, 仅仅是复用ViewHolder与View, 并不会复用与View绑定的数据, 此时首先通过resetInternal()对ViewHolder进行重置, 然后再调用bindView将ViewHolder.mItemView重新与数据进行关联
学习Flutter一小段时间,对纯Flutter项目有了一些基本的了解,但更趋近实际开发的应该是将Flutter模块作为一个依赖库添加到原生的Android项目中。 本文笔者...
大佬你又调皮了
解决RxJava内存泄漏(前篇):RxLifecycle详解及原理分析前言 随着RxJava及RxAndroid的逐渐推广,使用者越来越多,但是有一个问题,RxJava的使用不当极有可能会导致内存泄漏。 比如,使用RxJava发布一个订阅后,当...
嗯,打开看一下源码,是基于google的sample构建的,里面提供了各种各样的花式使用姿势
Android官方架构组件Paging:分页库的设计美学本文已授权 微信公众号 玉刚说 (@任玉刚)独家发布。 前言 我是一个崇尚 开源 的Android开发者,在过去的一段时间里,我研究了Github上的一些优秀的开源库,这些库...
这个是正解
Android接入flutter报错:Must be able to initialize the VM.开始跟进flutter项目按照官方的文档一步步接入:https://github.com/flutter/flutter/wiki/Add-Flutter-to-existi...
https://github.com/flutter/flutter/issues/19818
I find the reason:
if you config Flavor in app, the flutter lib must config the same Flavor.
if not, such as compileDevDebug will not found when build.
so, add the app's Flavor to the Flutter lib module, make the lib has the same compileDevDebug.
1.分享的简介 自定义View部分已经结束,了解具体详情请移步Android进阶之旅 - 自定义View篇。按照原定的计划,决定分享Android 进阶之旅 - 系统架构篇。...
本文已授权「玉刚说」微信公众号独家发布 概述 Paging是Google在2018年I/O大会上推出的适用于Android原生开发的分页库,随着越来越多的开发者着手使用Pag...