Android

android中gzip数据压缩与网络框架解压缩

目录 theme: smartblue 开GZIP有什么好处? Java中gzip压缩和解压实现 字节流压缩: 字节流解压: 网络框架解压缩(gzip) 使用步骤: 构造消息发送类(post调用的对象) 发布消息 接收消息:可以有四种线程模型选择 文末 theme: smart »

Android LayerDrawable怎么使用

这篇文章主要介绍“Android LayerDrawable怎么使用”,在日常操作中,相信很多人在Android LayerDrawable怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Android LayerDrawable怎么使用”的疑惑有所帮助!接下来 »

Android IdleHandler使用方法详解

目录 正文 正文 在Android中,Handler是一个使用的非常频繁的东西,输入事件机制和系统状态,都通过Handler来进行流转,而在Handler中,有一个很少被人提起但是却很有用的东西,那就是IdleHandler,它的源码如下。 /** * Callback interfac »

Android Flutter实现兴趣标签选择功能

目录 前言 InputChip 兴趣标签选择实现 总结 前言 我们在首次使用内容类 App 的时候,不少都会让我们选择个人偏好。这种通常是通过标签来实现,比如列举出一系列的技术栈,然后让我们选择。通过这些标签选择可以预先知道用户的偏好信息,从而可以选择感兴趣的内容进行推送,这样会让用户快速 »

Android 跨进程渲染

本项目用于验证 Android 是否能够跨进程渲染 View,最终实现了在子进程创建WebView,主进程显示的功能。 一、跨进程渲染的意义 有一些组件比如 WebView 如果在主进程初始化,会大大增加主进程的内存占用。 部分组件设计时只支持特定进程,但是又想在别的进程显示该组件的View 一些其 ... »

Android LayerDrawable超详细讲解

目录 1. 前言 2. 实例 1. 前言 Android LayerDrawble 包含一个Drawable数组,系统将会按照这些Drawable对象的数组顺序来绘制他们,索引最大的 Drawable 对象将会被绘制在最上面。 LayerDrawable对象的xml文件的根元素是< »

Android Doze模式下Alarm定时任务实现流程详解

目录 定时任务 Doze模式 定时任务 Timer不太适合那些需要长期在后台运行的定时任务,因为每个手机都有自己的休眠策略,Android手机长时间不操作就会导致Timer定时任务无法执行,而Alarm具有唤醒CPU的功能,能保证大多数情况下,执行定时任务的时候CPU能正常工作。 Al »

Android10 dex2oat实践

最近看到一篇博客:Android性能优化之Android 10+ dex2oat实践,对这个优化很感兴趣,打算研究研究能否接入到项目中。不过该博客只讲述了思路,没有给完整源码。本项目参考该博客的思路,实现了该方案。 源码地址:https://github.com/carverZhong/DexOpt ... »

Android SwipeRefreshLayout超详细讲解

目录 1. 控件说明 2. API介绍 3. 使用方法 3.1 布局文件 3.2 界面代码 4. 注意事项 1. 控件说明 SwipeRefreshLayout是google官方推荐使用的下拉刷新的控件,如果用户想通过垂直滑动手势刷新视图的内容,就可以使用它。 实例化此控件的Act »

Android ProgressBar组件使用教程

目录 1. 前言 2. ProgressBar属性介绍 2.1 XML属性 2.2 API属性 3. 水平进度条 4. 圆形进度条 5. 实例演示 1. 前言 进度条是UI界面中一种非常实用的组件,通常用于向用户显示某个耗时操作完成的百分比,进度条可以动态的显示进度,因为避免长时 »

Android Crash与ANR详细介绍

目录 Crash 空指针 角标越界 集合元素删除操作 异步操作后对界面元素的处理 Intent传递数据过大 在子线程中操作UI ANR Crash Crash是指程序闪退,导致APP不能正常使用。Crash产生的原因有很多,下面只是列举了一些常见原因。 空指针 空指针应该是项目中最容 »

Android不同版本兼容性适配方法教程

目录 Android 6 Android 7 Android 8 Android 9 Android 10 定位权限 分区存储 Android 11 强制执行分区存储 位置权限 Android 6 运行时权限动态申请,这里推荐郭霖的开源库:https://github.com/gu »

Flutter实现编写富文本Text的示例代码

目录 SuperText富文本设计方案 RichText原理 方案设计 解析 代码设计 节点定义 Span构造器定义 SuperText定义 可以修改TextStyle的Span构造器 效果展示 结语 SuperText富文本设计方案 Flutter中要实现富文本,需要使用Rich »

Android自定义view实现有header和footer作为layout使用的滚动控件

目录 前言 需求 编写代码 主要问题 前言 上两篇文章对安卓自定义view的事件分发做了一些应用,但是对于自定义view来讲,并不仅仅是事件分发这么简单,还有一个很重要的内容就是view的绘制流程。接下来我这通过带header和footer的Layout,来学习一下ViewGroup的自定 »

Android自定义view实现左滑删除的RecyclerView详解

目录 概述 需求 编写代码I 编写代码II 编写代码III 优化 总结 概述 最近安卓自定义view的知识看的很熟,但是却很久没动手了,这几天用kotlin手撕了原先一个左滑删除的RecyclerView,居然弄得有点懵逼。后面又慢慢改进、加东西,发现这样一个例子下来,自定义View以及事 »

[Android开发学iOS系列] Auto Layout

[Android开发学iOS系列] Auto Layout 内容: 介绍什么是Auto Layout. 基本使用方法 在代码中写约束的方法 Auto Layout的原理 尺寸和优先级 Auto Layout的使用细则 重要的属性 StackView Layout Guide Performance ... »

mengdd iOS

Android自定义view实现滚动选择控件详解

目录 前言 需求 编写代码 主要问题 前言 上篇文章通过一个有header和footer的滚动控件(Viewgroup)学了下MeasureSpec、onMeasure以及onLayout,接下来就用一个滚动选择的控件(View)来学一下onDraw的使用,并且了解下在XML自定义控件参数 »

Android实现滑动折叠Header全流程详解

目录 前言 需求 效果图 编写代码 主要问题 前言 上一篇文章直接通过安卓自定义view的知识手撕了一个侧滑栏,做的还不错,很有成就感。这篇文章的控件没有上一篇的复杂,比较简单,通过一个内容滚动造成header折叠的控件学习一下滑动事件冲突问题、更改view节点以及CoordinatorL »

Android实现自动变换大小的ViewPager

目录 前言 需求 效果图 编写代码 主要问题 前言 上一篇做了一个滑动折叠的Header控件,主要就是练习了一下滑动事件冲突的问题,控件和文章写的都不怎么样。本来想通过这篇文章的控件,整合一下前面六篇文章的内容的,结果写的太复杂了,就算了,没有新的技术知识,功能也和之前的安卓广东选择控件类 »

Android自定义view实现侧滑栏详解

目录 前言 需求 效果图 编写代码 主要问题 前言 上一篇文章学了下自定义View的onDraw函数及自定义属性,做出来的滚动选择控件还算不错,就是逻辑复杂了一些。这篇文章打算利用自定义view的知识,直接手撕一个安卓侧滑栏,涉及到自定义LayoutParams、带padding和marg »