Home
Ejin66
Cancel

RecyclerView的滚动截屏实现

前言 刷博客看到有关滚动截屏的内容,加上之前早有耳闻锤子手机上的这个功能,决定忙里偷闲来重复造个轮子。 原理 关于屏幕截屏,以前做项目有接触过。是为了实现毛玻璃效果,需要截屏然后做高斯模糊。截屏是通过 drawingCache 实现的,代码如下: view.isDrawingCacheEnabled = true view.drawingCacheQuality = View.D...

WebRTC 总结

前言 接触 WebRTC 一年左右,用来实现多人实时音视频功能,目前项目已经趋于稳定了。现在来记录总结下 WebRTC 基础知识点。 WebRTC 是Google开源的一项实时音视频项目,支持Android、iOS、PC、Broswer,可以说各个端都支持。而且在 FireFox、Chrome浏览器上,默认是内置的。 官网地址:WebRTC 。 火狐官方的WebRTC API说明文档...

自定义RecyclerView ItemDecoration

ItemDecoration简单介绍 ItemDecoration , 与 LayoutManager 类似, 是 RecyclerView 的静态内部类。从它的名字上,就能简单看出它的作用:给Item进行装饰。最简单的应用:实现分割线功能,其他更深入的方面如分组、分组跟随等。 它的使用也很简单: recyclerView.addItemDecoration(LinearItemDec...

自定义RecyclerView LayoutManager

LayoutManger使用 LayoutManager 是配合 RecyclerView 使用的,它主要的作用是控制 RecyclerView 子item的显示布局。比如自带的实现有: LinearLayoutManager。支持X轴线性布局或者Y轴线性布局 GridLayoutManager。网格布局 StaggeredGridLayoutManager。流式布局。 ...

自定义Widget: 左滑删除

左滑删除的原理图 实现原理如下: 事先在屏幕右侧外面绘制一个button,通过手势滑动拖出该button,来实现左滑删除。 实现思路一: 利用Positioned 最开始的思路是: Stack + Positioned + GestureDetector + Animation + StatefulWidget 利用GestureDetector监听水平方向的移动...

Flutter Animation 总结

Flutter动画中的几个关键类如下: Animation<T> CurvedAnimation AnimationController Tween AnimatedWidget AnimatedBuilder ImplicitlyAnimatedWidget Animation Flutter 动画系统是基于这个类来完成的,它是一个抽象...

Flutter 初次上手笔记

1. Flutter 安装 Flutter是Google开源的一套跨平台框架,开发语言是 Dart,目前处于pre-release阶段。 Flutter 安装官方指南:https://flutter.io/get-started/install/。 2. 项目结构 Flutter项目结构: android ios lib pubspec....

Flutter 下常用命令

1. 直接安装运行 flutter run [–debug/release] 默认是debug 2. 打包生成APK flutter build apk [–debug/release] [–split-per-abi] [–target-platform=android-arm64] 默认是release。 split-per-abi表示生成对应a...

编译时注解处理实践

前言 编译时注解是在项目编译时对相关注解进行处理,主要是自动生成java source code, 能够降低代码的耦合度,减少重复代码等等。像ButterKnife、EventBus等框架,其实现原理都是利用了编译时注解。 编译时注解只能根据注解生成源代码,而不能修改已有的代码 项目结构 project app module ann...

NestedScrollView 总结

关于NestedScrollView的相关流程总结,如下: dispatchNestedPreScroll (dx, dy, scrollConsumed,scrollOffset) dx: 用户在screen x轴上操作的位移长度 dy: 用户在screeny轴上操作的位移长度(手指向下滑动,dy为负;手指向上滑动,dy为正) scrollConsumed...