自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

薛之涛

越努力越幸运

  • 博客(62)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android-MotionLayout动画

参考资料https://mp.weixin.qq.com/s/8DhoUK9YlbRGwr6ALp2CBw话不多说,上图为敬:motionlayout.gif效果图分析头部用户信息区域的渐隐渐显头部用户信息区域的位置变化控件大小的变化(比如关注按钮)文字大小及颜色的变化(比如用户名称)添加依赖MotionLayout要求ConstraintLayout的版本在2.0....

2021-11-03 01:33:08 469

原创 小程序实现TreeView树多选功能

rtertetr

2021-08-17 12:50:52 1775 2

原创 Jetpack-Lifecycle

lifecycle是jetpack的架构组件成员,其主要作用是对Activity/Fragment的生命周期进行监听。比如:监听activity的onStart()状态来进行耗时操作,onDestory()进行资源的回收销毁等。lifecycle的主要几个类lifecycle核心抽象类,继承该类的子类具有Andorid生命周期特性的对象。lifecycleRegisterlifecyc...

2021-01-24 22:33:26 234

原创 Jetpack-WorkManager

今天我们来讲以下google推荐我们使用jetpack进行后台任务处理的组件:workManager。参考:https://mp.weixin.qq.com/s/OorUNDO3GVHATJrZOijh_Aworkmanager是什么?我们在开头就说了,workManager是一个可以用来进行后台任务的组件。我们都知道通常在android中进行后台任务我们都用service,既然已经有了se...

2021-01-17 22:05:26 541

原创 Android-布局优化merge, viewStub, include总结

多层布局的嵌套会导致页面加载慢,影响用户的体验,今天我们就来学学如何使用 include,merge及viewStub。1.includeinclude便于对相同视图内容进行统一的控制管理,提高布局重用性,以标题栏为例,我们先定义一个通用的标题栏,相关代码如下:commont_title<RelativeLayout xmlns:android="http://sch...

2020-01-08 13:59:15 379

原创 Android-文件存储目录

参考资料:https://www.jianshu.com/p/a34c644e3431https://mp.weixin.qq.com/s/YNMKhqvVjmWsOzh24mDCswhttps://mp.weixin.qq.com/s/Sx4fejCDTTI7nlzDpcZfKg在近期的app安全检测中,说的app存在胡乱操作存储卡的行为,建议将被测系统自身数据存放在系统...

2019-12-08 21:31:30 946

原创 Android-ViewPager2

参考:https://www.jianshu.com/p/e754cbd2d3291.简介。今天我们介绍一下猪脚-ViewPager2,ViewPager2的出现是为了替代ViewPager,它有以下几个优势:支持RTL布局,支持竖向滚动支持notifyDataSetChangedRTL布局是Right To Left 布局也就是从右往左的布局,大家知道我们平常写...

2019-12-01 11:36:47 913 1

原创 Java-策略设计模式

今天 我们来学习一下策略模式,什么是策略模式呢?比如我们一个功能的实现可以有多个策略去选择,比如:出行方式可以选择:共享单车,拼车,私家车,出租等。如果将这个出行方式提供一个统一的接口,每个策略都有自己的实现类,客户端就可以通过实现具体的策略对象来完成功能,而这样的策略是可以动态替换的,扩展性和维护性及代码可读性较高,这就是就是策略模式。策略模式遵循的是:对修改关闭,对拓展开发的...

2019-11-09 20:59:08 177

原创 Android-Lambda表达式

参考资料:https://mp.weixin.qq.com/s/ht3KIeG9-H9HtgF_nlm5cwLambda,中文名“兰布达”。是匿名函数的别名,Java8后开始引入Lambda表达式.而Android方面Android Studio 2.4 Preview 4 及其之后完全的支持lambda 表达式,如果是之前版本就需要借助插件和编译器了。下面以我们常见的点击事件...

2019-11-03 12:17:15 1003

原创 Android-Gradle(二) Gradle相关配置详解

参考资料:https://mp.weixin.qq.com/s/1UHcYOudViMhpUYeREZzGAhttps://mp.weixin.qq.com/s/hCXLz-9BnAOGWyZ2eRikKg1.Gradel简介Gradle是一个项目自动化建构工具,它使用一种基于Groovy的特定领域语言来声明项目设置,而不是传统的XML。Gradl...

2019-08-21 16:47:00 617

原创 Andriod-Dagger2

参考资料:https://www.jianshu.com/p/1d84ba23f4d2https://mp.weixin.qq.com/s/lh3dgJK95cgbG-bUZfvbFA听说好多开发者采用Dagger2+RxJava+Retrofit+mvp结构来进行开发,虽然Dagger2已经出来好久了,但一直没有进行总结,今天所以有必要总结一下Da...

2019-08-14 13:21:00 3917

原创 Android-Retrofit简介

上一篇文章讲了RxJava,这一篇当然就该讲Retrofit了,参考资料:https://blog.youkuaiyun.com/gumufuyun/article/details/836198791.Retrofit简介Retrofit 是一个 RESTful 的 HTTP 网络请求框架的封装,网络请求的工作本质上是 OkHttp 完成,而 Retrofit ...

2019-08-07 11:09:00 294

原创 Android-RxJava(下)

参考:https://mp.weixin.qq.com/s/RkGHpVSpngfHDXo4Es-a9whttps://mp.weixin.qq.com/s/elA3Gib57YGWnXOEcFOPUQhttps://mp.weixin.qq.com/s/WaWEtFjmajalISwAkJyuKw上一篇我们说了Android-RxJava(上)主...

2019-07-12 15:31:00 137

原创 Android-RxJava(上)

Rxjava出来已经好久了,但始终存在于会使用的阶段,今天来做个总结。参考:https://mp.weixin.qq.com/s/7sKjc5ahHI4fmadXW-uP_whttps://mp.weixin.qq.com/s/V0hEyiZwC7z5PiC3Uz0wyAhttps://mp.weixin.qq.com/s/RkGHpVSpngfH...

2019-06-30 14:34:00 123

原创 Android-组件化开发

参考资料:https://www.jianshu.com/p/60c1b9ddd8ab上一篇我们学习了ARouter,讲到ARouter是组件化开发的基础,那现在让我们开始组件化开发吧。1.组件化,模块化概念对于组件化的开发,首先要了解模块化及组件化的概念,这正是是好多小伙伴模糊的,所以我们有必要说明一下。1.1 组件组件的英文单词是compo...

2019-06-02 18:45:00 461 1

原创 Android-ARouter

我们上一篇文章是自定义Router,没有看过的小伙伴自定义Router,但今天我们来看一看世面上主流的路由框架-由阿里推出的ARouter.。参考资料:https://mp.weixin.qq.com/s/hUKEOp3qa4C53F6ZmPuXjQhttps://mp.weixin.qq.com/s/UljVdlGQuwooVEJz_rctjw1...

2019-04-06 20:05:00 554

原创 Android-自定义Router(路由)

参考资料:https://mp.weixin.qq.com/s/itAuv86OsTHfBahUrk21DA我们知道Android的组件化离不开Router,路由的主要主要作用是:消息的中转站,为我们的项目多模块的依赖解耦。,当然市面上有三方路由框架,比如阿里的ARouter就是一个不错的选择,但我们还是要自己自定义一个Router,来研究一下,毕竟自己...

2019-02-20 14:23:00 785

原创 Android-Https

参考:https://mp.weixin.qq.com/s/E75toyRukUHEtt34-snEgQhttps://mp.weixin.qq.com/s/adZC0N5Fd4X9FjxUrdlS1whttps://mp.weixin.qq.com/s/7sX3AY7gJomJ2ZEErUqmKA上篇文章我们讲到了Android-Http,这次我...

2019-02-02 14:53:00 154

原创 Android-Http

参考文章:https://mp.weixin.qq.com/s/38GrbReICfu54-nEWylqIQhttps://mp.weixin.qq.com/s/qSQqFRuD4fwVoFdkmGNRpwhttps://www.jianshu.com/p/27862635c077HTTP相关知识使我们面试或者实际开发中经常用到的,今天我们来做...

2019-01-30 17:12:00 206

原创 Android-Bitmap

参考:https://www.jianshu.com/p/3c5ac5fdb62a作为开发者,我们经常和Bitmap打交道,比如:imageView.setImageBitmap( bitmap),但Bitmap到底是个什么,今天来深究一下。Bitmap简介位图(Bitmap)是使用像素阵列(Pixel-array/Dot-matrix点阵)来表示...

2019-01-11 11:30:00 182

原创 Java-值传递和值引用

参考:https://mp.weixin.qq.com/s/Qp6Cc0mlRLnrToNy5-3zegjava的值传递和值引用是一个普通但重要的内容,今天我们依次来了解一下。1.形参和实参的区别?形参:方法被调用时需要传递进来的参数,只有在被调用时才分配内存单元,在调用结束时,就会释放出所分配的内存单元。形参只能在函数内部才有效.实参:在方...

2019-01-02 16:58:00 190

原创 Android-Handler机制

参考:https://mp.weixin.qq.com/s/AvpOq6eh-IBDJj2SXa_wXwhttps://www.jianshu.com/p/25a05bf42e05Handler是我们项目里常用的更新UI的方式了,如:子线程获取数据通过Handler.sendMessage()发送消息,在UI线程Handler.handleMessag...

2018-12-22 11:42:00 152

原创 Java-观察者模式(订阅-发布者模式)

定义观察者模式也叫订阅-发布者模式,是一种一对一或者一对多的依赖关系,当一个对象改变状态,依赖它的对象会收到通知并自动更新。观察者模式的结构观察者模式主要由四个主要部分构成(1)主题(Subject):主题也叫抽象被观察者,是一个接口,该接口规定了具体主题需要实现的方法,比如,添加、删除观察者以及通知观察者更新数据的抽象方法。(2)观察者(Obs...

2018-12-20 11:22:00 560

原创 Java-单例模式

单例模式是我们实际开发中常用到的开发模式,目的是保证实例的唯一性,确保这个类在内存中只会存在一个对象,但我们现在用到的单例模式相关代码可能不是最优的,今天让我们探索一下单例模式的正确写法。单例模式通常分为饿汉式和懒汉式,我们这里来一个最简单的代码:饿汉式相关代码:public class SingletonPattern {//无参构造私有化,不允...

2018-12-16 11:55:00 89

原创 Java-反射

参考:https://mp.weixin.qq.com/s/UYqPCmo2vpAibJPh6cupLw1.定义Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类中的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。Java 的反射机制的实现要借...

2018-12-09 17:51:00 122

原创 Android-加解密

参考:https://mp.weixin.qq.com/s/UBwCpsK7kbPfmI4_PiJJCAhttps://mp.weixin.qq.com/s/hJJUbb6aLbxmNl3k91M7UQhttps://www.jianshu.com/p/1a8837872ed0今天说一说加解密,我们先了解一下相关的概念:不可逆加密可逆加密...

2018-11-27 21:13:00 285

原创 自定义View之Switch

今天我们来聊一下自定义Switch控件,我们先看一看Switch的相关属性:1.Switch相关属性android:splitTrack:是否设置间隙让滑块与底部图片分隔开来android:switchMinWidth:设置开关的最小宽度android:switchPadding:设置滑块内文字的间隔android:switchTextAppe...

2018-11-18 15:46:00 239

原创 Android-日夜主题切换(google推荐)

android日夜间模式切换相比大家都接触过,我之前也经常用,但今天想给大家推荐一个google推荐的实现方式,实现起来比较简单,就是咱们今天的主角主题-----Theme.AppCompat.DayNight。Theme.AppCompat.DayNight在Support Library 23以后也就是6.0出现,支持API 14及以上,我相信现在已...

2018-11-13 22:44:00 644

原创 Java-泛型

今天记录一下Java中的泛型,毕竟大家在项目中经常用到或者看到过。参考:https://www.jianshu.com/p/95f349258afb1.什么是泛型泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数,Java语言引入泛型的好处是安全简单2.泛型的特性在Java SE 1.5之前,...

2018-11-11 13:16:00 145

原创 Android-图片的压缩(质量压缩和尺寸压缩)

复习一下图片的压缩知识,今天来做一个总结。参考:https://blog.youkuaiyun.com/baidu_38477614/article/details/78901107理论概括1.图片存在的几种形式:File,存在于我们的磁盘中,我们通常说的图片大小。Stream即流的形式,比如我们上传网络图片。Bitmap,就是我们通常指内存中图片的大小...

2018-11-04 22:21:00 457

原创 Android-ConstraintLayout详解(下)

我们接着上一篇说一说ConstraintLayout的其他属性,如果没看过上一篇:Android-ConstraintLayout详解先罗列一下此次的会议内容,我们此次介绍的属性如下:MarginBaseline,end和start属性圆型布局尺寸限制百分比尺寸(Percent Dimensions)和 宽高比(Ratio)组(Group)...

2018-11-03 21:18:00 419

原创 Android-ConstraintLayout详解(上)

现在还不用ConstraintLayout是有点守旧了,它是studio 2.2版本主要增加的功能之一,最大的好一句话概括就是:支持可视化编辑xml文件,解决多层布局嵌套的问题,这也就优化了我们的程序,详情请查看:解析ConstraintLayout的性能优势由于ConstarintLayout布局可以可视化和代码编写,我们就分别看看这两种方式。基本用法基...

2018-10-22 13:31:00 422

原创 Android - 懒加载

今天我们来聊一聊ViewPager+Fragment的懒加载。参考资料:https://juejin.im/post/5adcb0e36fb9a07aa7673fbc1.什么是懒加载,为什么要用懒加载?如果我们的项目中使用了ViewPager+Framgment实现底部Tab可点可滑,那么我们都知道ViewPager有预加载功能,通过viewpage...

2018-10-14 23:07:00 180

原创 Android-图片的选择,裁剪,压缩,适配高版本

趁着国庆有时间我们来聊一聊最常用的选取用户图片一系列的功能,go!效果展示效果展示链接1.图片的选取拍照我们之前设置拍照保存的文件地址的Uri,都是直接Intent.putExtra(MediaStore.EXTRA_OUTPUT,文件保存的Uri路径),但是7.0之后,对用户权限提高了保护,之前那种方式行不通了,所以我们要做7.0的判断,用Fi...

2018-10-08 11:36:00 255

原创 Android-.9图详解

Android设备适配,图片方面很重要的一部分就是.9图的使用了,我们今天就来记录一下。1. 什么是.9.png图片,和普通png图片的区别?.9.png图片本质上还是png图片,区别是.9.png图比正常的png图片在最外围多了1px的边框,这就允许我们在这个1px的边框上定义图片的可拉伸区域以及图片的内容区域。这也就是说.9.png的制作实际上就是...

2018-09-29 11:50:00 371

原创 Android 事件分发机制

事件分发机制在android中非常常见,比如:手势滑动,自定义View,多点触控都有它的身影。事件分发的顺序是:Activity-&gt;GroupView-&gt;View,GrounpView包括五大布局,ListView和GridView等,View包括TextView,ImageView等。我们今天就来搞一下。首先我们的手指和屏幕接触的Motio...

2018-09-18 17:38:00 119

原创 Java-注解

java注解在 Android 中有两种应用方式,一种方式是基于反射的,在程序的运行期间获取类信息进行反射调用;另一种是使用注解处理,在编译期间生成相关代码,然后在运行期间通过调用这些代码来实现相关功能。我们先了解一下注解的分类及其关键字标准注解(java默认提供)元注解(用户自己定义用)@Override@Target@De...

2018-09-12 14:38:00 127

原创 Android-Recyclerview常用总结

概述在android开发中我们不可避免的会用到Recyclerview,用以替代之前的ListView,GridView,Gallery等.它是support:recyclerview-v7中提供的控件,最低兼容到android 3.0版本.之前listview难以实现或者不能实现的效果,它都可以实现或者轻松实现.1.那么它有哪些优势呢?总结也就一句...

2018-09-03 17:17:00 227

原创 Android-Fragment

今天我们来总结一下常用的Fragment,以及开发中那些是要注意的?1.Fragmet选哪个包?我们在创建Fragment的管理器的时候,会选择导入那个包下的FragmentManager.有app包下和v4包下的,这里我推荐用v4包的FragmentManager。理由如下:android.app.Fragment 兼容的最低版本是android:...

2018-08-27 17:37:00 124

原创 Android -Gradle依赖导入及相关知识

前言近期导入了一个项目,因为种种原因始终是失败,各种引入错误,不是这个就是那个,归根到底还是对gradle相关知识不够了解,今天来整理一下。升级3.x.x变化Gradle近期变化android studio版本升级到3.0.0已经有一段时间了,现在使用的是studio 3.1.2.那么(当然默认你的build:gradle:3.1.2,二者要保持一...

2018-08-20 16:18:00 673

TreeViewTest.zip

小程序TreeView实现多选功能

2021-08-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除