5 宿罪

尚未进行身份认证

我要认证

人没有梦想和咸鱼有什么区别,有梦就要去追,不为失败找借口,只为成功找方法。

等级
TA的排名 1w+

Android性能优化之布局优化

在开始性能优化前我们先需要知道从哪些方面入手,本篇文章介绍的布局优化可以从如下几个方向入手减少布局树的层级减少布局树中View的数量减少单个View的绘制时间(将在下一篇文章中归到绘制优化部分)提高布局的复用性减少布局树的层级我们知道在Android中View布局是一个树的数据结构,这个树里面的元素是我们编写或定义的View或ViewGroup,而每个ViewGroup元素又可以有View或ViewGroup子元素,这样ViewGroup嵌套子View,子ViewGroup又嵌套子View形

2020-09-20 23:49:09

【Android AAC】第三篇 ViewModel源码解析

前言先看一个ViewModel的使用例子,这里使用Kotlin语言(读者不该困惑于语言,主要是看用法,Java的类似,不懂欢迎留言):class ShareViewModel : AndroidViewModel { private val userLiveData:MutableLiveData<User> = MutableLiveData() constr...

2019-08-14 16:07:21

【Android AAC】第二篇 LiveData的源码解析

前言首先看一下如下一个简单的使用例子,本文范例使用Kotlin语言进行介绍,Java版的类似,不懂的可以留言问我哈。// 1.创建LiveDatavar loginLiveData:MutableLiveData<LoginEntity> = MutableLiveData<LoginEntity>()// 2.观察LiveDataloginLiveData.ob...

2019-08-09 17:28:27

【Android AAC】第一篇 Lifecycle的源码解析

前言AAC是Android Architecture Components的缩写,翻译过来就是Android架构组件的意思,是Google IO 2017大会期间发布的一组架构组件,它可以用来帮助开发搭建更加简单便捷的APP架构。AAC里面涉及到了LiveData,ViewModel,其中LiveData的工作需要依赖于Lifecycle,所以本篇文章将介绍Lifecycle的工作原理,并从源码...

2019-08-08 20:50:09

Gradle私服上传自己的库项目

nexus私服(3.14)下载地址:https://www.sonatype.com/download-oss-sonatype安装:管理员身份运行cmd,进入nexus bin目录,nexus /install nexusnexus /run(之前版本用bat启动,nexus start启动)修改配置(etc目录nexus-default.properties)如:修...

2018-12-22 22:36:22

Android沉浸式状态栏

在使用沉浸式状态栏时需要注意设置的沉浸颜色为白色还是其他深色的区别1. 状态栏字体图标黑色(深色)// 5.0以上系统状态栏透明if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = getWindow(); window.clearFlags(WindowManager....

2018-12-14 17:00:57

Android自定义圆角矩形ImageView,支持Glide加载图片及颜色填充

前言: 之前用到圆角的情况大都是自定义一个shape背景drawable及用到v7包下的CardView包裹View实现圆角矩形效果,还有就是在用户圆形头像的时候需要使用到圆角矩形(圆形可以看做是特殊的圆角矩形),诸如Button,Editext,TextView的圆角矩形颜色背景可以用shape实现,但是ImageView Res圆角还没用到过,它就不能简单地设置一个圆角矩形shape作为背...

2018-05-14 11:43:40

Android自定义PopupWindow,高仿炫酷的IOS对话框

前言: 最近在使用IOS系统的过程中发现IOS底部弹出框甚是漂亮,大气,上档次,于是乎就想啊能不能在Android中实现类似的对话框呢?你说,这不是废话吗,除了一些极少数的系统级的不能模仿外(版权)还有啥不能依瓢画葫芦的呢,所以啊,这篇文章将介绍如何在Android中实现高仿IOS对话框效果,先上图,给大家养养眼:大家在看到上面的对话框时有没有想到简单的实现思路呢?我这里给出的思路是我...

2018-05-12 20:39:59

Android自定义Dialog,炫酷主流的加载对话框

前言 最近开发中用到许多对话框,之前都是在外面的代码中创建AlertDialog并设置自定义布局实现常见的对话框,诸如更新提示等含有取消和删除两个按钮的对话框我们可以通过代码创建一个AlertDialog并通过它暴露的一系列方法设置我们自定义的布局和style,但有时候系统的AlertDialog并不能实现更好的定制,这时,我们就想到了自定义Dialog。通过查看AlertDialog的类结构...

2018-05-12 11:59:14

Android自定义RecyclerView分割线,打造无边缘分割线

前言: 现在的RecyclerView几乎已经完全取代ListView和GridView了,已经几年没使用ListView和GridView了,想当年还需要自己在getView方法中复用convertView。而现在的RecyclerView一出生就被设计成convertView复用的,尽管你不想复用(才怪)。RecyclerView功能如此强大的同时就会面临许多需求,如给RecyclerVi...

2018-05-02 22:01:58

Android自定义ViewPager图片指示器,兼容实现底部横线指示器

前言 记得以前自己使用过的ViewPager Indicator有JakeWharton大神的开源库ViewPagerIndicator,v4包自带的PagerTitleStrip以及Android Support Design库的TabLayout。它们基本上可以实现项目中常见的ViewPager指示器的需求,除非你的项目有特色的指示器需求,如指示器不再是tab底部横线,而是一个三角形或是其...

2018-04-22 16:05:40

Android自动填充短信验证码

前言 短信验证码获取并自动填写现在已经成为一个人性化App的标配了,这篇文章将实现一个短信验证码获取并自动填写的demo。其实就是读取指定号码的短信并提取出验证码,然后赋值给EditText显示。demo效果图:读取短信 Android系统在接受到一条短信的时候会发出一条Action为android.provider.Telephony.SMS_RECEIVED的有序广播,因此我们读取短信的验证码只

2017-09-28 15:28:23

Android开发技巧之使用自定义注解

前言 一些优秀的开源框架如比较早的xUtils网络加载框架及现在最新版本的greenDao 3.X ORM框架支持注解,注解的使用可以使得我们的代码架构变得更加清晰,同时也更能体现出面向对象语言的继承的特征及反射机制的强大。我们在Android开发过程中可以使用注解来优化我们的代码结构。Java注解简介注解Annotation其实是一种元数据,不包含业务逻辑,它的作用是用来给类,接口,域等提供数据。

2017-09-28 10:17:11

Android视图动画浅析

视图动画 视图动画共有四种,分别为透明度,旋转,平移,缩放动画,如同名字所说一样,它是一种视图上的动画,改变的只是视觉上的效果,实际上View的属性如位置,大小,透明度等并没有受到动画的影响。下面将演示四种视图动画的代码及xml定义使用。代码定义:public void alpha(View v){ AlphaAnimation alphaAnimation = new AlphaAnima

2017-09-19 18:54:44

Android使用ViewDragHelper实现侧滑菜单(一)

前言 对于处理View的滑动,除了Android实现滑动的几种方式写到的四种外,Android v4包中还提供了一个ViewDragHelper类来帮助我们更加方便地处理滑动事件,ViewDragHelper使得View与View之间的滑动交互更加简单方便。不过在学习ViewDragHelper处理滑动事件前需要掌握View的事件处理机制,可以参考:Android事件的分发与拦截机制。ViewDra

2017-09-16 09:56:48

Android实现滑动的几种方式

前言 View的滑动对于View交互性及效果有很大影响,我们可以通过5种方式来实现View的滑动,准确地说是View位置的改变。要改变View的位置,首先我们需要了解Android的坐标系,因为View的是通过坐标来定位的。绝对坐标系 Android系统中,屏幕的最左上角为坐标原点,如下图所示。屏幕最左上角的点为坐标原点,向右向下分别为x轴和y轴视图坐标系 视图坐标系是在View的层级体系中使用到的

2017-09-14 15:24:24

testBatchAndFlush(android.hardware.cts.SensorTest): WaitForFlush | sensor='PROXIMITY'

这项是测试proximity sensor,也就是近距离传感器,需要注意以下两项:在拨号界面输入*#6804#选择Psensor,校准它的精度。在测试过程中用手遮挡住Psensor(一般在摄像头另一侧)

2017-09-11 17:54:42

Android事件的分发与拦截机制

前言 Android为我们提供了丰富的View及ViewGroup控件,使得我们可以轻松的地完成Android应用界面的绘制,同时还可以自定义精美的View控件。绘制一个界面往往需要众多的View及ViewGroup不断嵌套,由于View可能需要与用户交互,如Button响应用户的点击,EditText响应用户的输入,而ViewGroup也可以响应事件,当多个ViewGroup和View嵌套的时候就

2017-09-11 16:00:47

CTS,GTS,CTS Verifier失败项总结(持续更新)

在CTS,GTS,CTS Verifier测试中经常会遇到许多问题,需要寻找相应的解决方法以便通过测试,出来IP V6及Google 豁免项外不允许出现其他问题。那么其他问题通常又会是由以下一些原因导致的。软件问题(软件人员配置或是定制Framework导致)驱动问题(如Camera2问题)测试方法问题网络问题(有些项需要使用静态ip地址测试,有些需要使用动态ip)签名问题(找软件帮忙)

2017-09-07 14:04:21

Android N 多窗口模式

前言 在智能手机更新换代越来越快,手机屏幕越来越大,手机可以做的事情越来越多,人们已经离不开智能手机了,甚至有的人开始在用手机办公了。在大屏幕手机上,如果一个手机可以一边播放视频,一边上着网,那种体验是非常爽的。终于,在Android 7.0(N)(API 24)引入了多窗口(Android N 的 Nexus Player还有画中画)的支持,也就是分屏显示,可以是上下排列,也可以是左右排列,可以在

2017-09-01 16:47:59

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享王者
    分享王者
    成功上传51个资源即可获取