判断虚拟导航栏的老方法 在全面屏手机之前,我们对虚拟导航栏的判断就有很多种方法, 比如方法1: 又或者是这种方法2: 又或者方法3: 以上三个方法,基本上都是看系统中是否有虚...
判断虚拟导航栏的老方法 在全面屏手机之前,我们对虚拟导航栏的判断就有很多种方法, 比如方法1: 又或者是这种方法2: 又或者方法3: 以上三个方法,基本上都是看系统中是否有虚...
1、概述 Databinding 是一种框架,MVVM是一种模式,两者的概念是不一样的。我的理解DataBinding是一个实现数据和UI绑定的框架,只是一个实现MVVM模式...
有人说小时候过得慢,是因为新鲜,什么都是第一次遇见,压缩率低。越大越平淡,在时间和空间上变化越来越小,日复一日年复一年,压缩率高,感觉就快了~
努比亚技术团队原创内容,转载请务必注明出处。 Android卡顿掉帧问题分析之原理篇[//www.greatytc.com/p/386bbb5fa29a] Andr...
2.1 进入 C++ 一个简单的入门程序如下: 2.1.1 // mytirst.cpp -- displays a message C++注释以双斜杠(11)打头。注释是程...
回看历史“华夏往来圣人有两个半”。其一为儒家创派祖师孔子,而另一个则是明朝心学代表人物王阳明,还有半个是曾国藩。今天我们来讲讲王阳明,华夏文明有三不朽:立德、立功、立言。王阳...
在上一篇从源码角度分析,为什么会发生Fragment重叠?里,我们分析了造成Fragment重叠的原因,这一篇我会介绍几个解决方案,同时给出一个我的方案:9行代码让你app内...
一、ViewModel存在的意义? ViewModel做为JetPack中重要的组件,翻译成中文就是“视图模型”,根据分离关注点原则,ViewModel的出现,主要是为了分担...
gradle 插件 + asm 字节码基础讲完了,我们就要开始实战环节了,这次我们来做一个图片加载监控,本文虽然只讲一个实例,但是很多场景以及很多开源框架都会用到 Gradl...
我们的《Android进阶之旅》到这里就算是完结了,五六年的时间,我的青春,我职业生涯的黄金时期,基本都耗在了这上面。很多东西我都是现学现卖,平时上班也很少有时间能备课,很多...
矢量图(SVG)在Android系统中通过VectorDrawable来使用,但是在使用矢量图的时候还是发虚(变模糊了) 分析原因 两个代码 VectorDrawable在 ...
本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 最近下班时间都用来健身还有看书了,博客被晾了一段时间了,原谅我~~~~ 提问环节 好,废话不多说,之前我们...
1、SharedPreferences不支持多进程 Android的SharedPreferences用来存储一些键值对, 但是却不支持跨进程使用.跨进程来用的话, 当然是放...
一、为什么需要 WebSocket 初次接触 WebSocket 的人,都会问同样的问题:我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处? 答案很简单...
一直都很喜欢Instagram的快拍(Story)功能,也很喜欢他们的翻转效果,是一种简单的3D翻转效果。大致效果如下: 貌似最近微博也出了一个差不多的Story的功能,用的...
前言 不知道还有多少小伙伴在用系统的VideoView用来播放视频,应该一直有一个问题困扰的大家吧,那就是播放前的一小段黑屏问题。无论是首次播放黑屏还是视频切换黑屏,一个看似...
缺少对其中一个水管异常情况处理逻辑的介绍。
RxJava2.0文章四 - Zip操作符的用法前言 这一节主要讲解Zip操作符的用法 1. Zip操作符 Zip是通过一个方法将多个上游(多个水管、多个Observable)发射的事件结合到一起,然后发射这个组合...