自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (2)
  • 收藏
  • 关注

原创 Android告别Shape.xml

天下苦shape.xml久已,特别是遇上不靠谱的UI,圆角+背景色+边框,三个属性就能给你折腾出来几百种组合,每个组合都要写对应的shape.xml,太折腾人了!使用解析实现方式是依托于,如果同学不喜欢使用,那么这篇文章就帮不到您了。通过注释,实现布局xml中访问Kotlin代码的能力,通过设置的各种属性值,轻松实现的背景色、圆角、渐变色、边框的功能设置。其中圆角的设置做了比较多的需求适配,所以单独又拆分出了一个方法。注意: 任何View都可以通过该方法实现背景的自定义仓库地址

2023-04-06 15:33:40 386

原创 仿抖音-视频及直播点赞效果

快速实现抖音视频点赞和直播点赞效果.创建图片,设置图片属性:大小,旋转,坐标等。将图片add到ViewGroup中。

2023-04-03 17:42:20 806 2

原创 Flutter——Expanded

在Android的日常编程中,我们使用LinearLayout时经常会遇到需要使用权重来分配子View的空间占比,那么在Flutter中,我们需要时,该怎么实现呢?源码&简介A widget that expands a child of a [Row], [Column], or [Flex]展开[行],[列]或[Flex]的子代的小部件class Expanded exte...

2019-09-27 14:25:00 493 1

原创 Flutter——Row&Column

1. 简述Row和Column分别是横向布局和纵向布局,对标Android中的LinearLayout <!-- Row --> <LinearLayout android:layout_width="match_parent" android:orientation="horizontal" android:...

2019-09-27 13:04:44 863

原创 Koin实战

对于强大的注解框架,Dagger2的编译特点一直都让我觉得不舒服,强行学完Dagger2的使用和大体原理后,也一直没有将它投入生产中。后来在浏览博客的时候,发现Koin:适用于Kotlin开发人员的实用轻量级依赖注入框架。仅使用功能分辨率编写的纯Kotlin:无代理,无代码生成,无反射!Koin官网这个三无产品一下子就吸引了我,不要998,不要9.8,什么都不要,来试试看~添加依赖当...

2019-09-05 10:38:17 1515

原创 Fragment懒加载——最简方案(LazyBread)

GIF镇楼框架引入在项目根目录的build.gradle文件中添加 allprojects { repositories { maven { url 'https://jitpack.io' } } }app目录下的build.gradle文件中添加dependencies { implementation 'com.github.Martin0207...

2019-05-22 14:30:50 834 2

原创 AOP——Android通过AspectJ实现登录检验

AOP与AspectJ的介绍就不多说。 APP的登录方式,一种像QQ微信类,先登录后使用。另一种像美团饿了么,将产品展示给用户,用户产生兴趣进行专属操作时再登录。 第一种不做讨论,第二种情况下,如果未登录时的产品展示有很多功能,这时候一个一个的进行判断恐怕不是程序员想看到的,并且繁杂的程序更容易出错。 这里我们使用面向切面编程的思想——AOP,对需要登录的功能方法进行注解,统一处理登录检验。...

2018-09-07 11:34:58 1173

原创 热更新——Sophix

热更新——Sophfix牢骚前些时间,公司因为服务器调整,有些特定接口IP需要更换,其中包括一个更新接口。从接到通知更换服务器到更换完成,前端开发人员只有两个小时的准备时间,其中一个小时我还在来公司的路上(晚上十点接到通知) 两个小时内及时发包也不能保证用户的更新,况且还是在晚上。 所以这几天一直很迫切需要一款热更新框架,Sophix就出现了。介绍官方文档Sophix是...

2018-08-11 16:34:04 1686

原创 跟随手指移动的View , 自动贴边

自定义View这一块,一直是我的心病。最近项目遇到需求,类似于高德搜索界面的列表随手指移动。 饭要一点点吃,先从最基本的View跟随手指开始。先贴效果图和代码:package com.martin.animationstudy.view;import android.animation.ObjectAnimator;import android.content.Contex...

2018-07-06 15:57:13 2647 10

原创 Timber源码分析

Timber的使用,在上一篇Timber的使用与分析中已经介绍完成.相信有与我一样的同好,对Timber的源码很感兴趣. 源码下载地址Timber特性首先,我们来看一下Timber的特性 Timber是一款可扩展的Logger工具 Timber通过Timber.plant来添加tree实例 Timber需要在使用前添加完成tree实例,最好在Application...

2018-06-09 15:28:28 491

原创 Timber的使用与分析

Android开发中,不可避免的需要使用日志Log.Android原生的Log每次都需要指定Tag,而且指定Tag之后依然很难定位到确定位置.这就引出今天要讲的工具–Timber.Timber 介绍github地址 依赖地址:implementation 'com.jakewharton.timber:timber:4.7.0'官方介绍: This is a ...

2018-06-09 11:24:10 8060

原创 Spring学习——IOC由Annotation实现

基本使用配置文件在src文件夹下,创建xml文件,这个文件放置Spring的配置。一般使用beans.xml做名字。&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www...

2018-04-23 22:27:03 191

原创 Spring学习——IOC由xml实现

Spring框架的基础模块,包含IOC(注入)和AOP(面向切面)。基本配置使用基础配置在src文件夹下,创建xml文件,这个文件放置Spring的配置。一般使用beans.xml做名字&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;beans xmlns="http://www.springframework.org/...

2018-04-23 20:20:21 195

原创 Spring学习——AOP由xml实现

前面有一篇利用Annotation实现AOP,现在记录一下通过XML来实现该功能。以下过程中,前期准备与上一篇Spring学习——AOP由Annotation实现类似,可以简单看一下。1、 在beans.xml的基本属性&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;beans xmlns="http://www.springf...

2018-04-23 16:58:18 254

原创 Spring学习——AOP由Annotation实现

1、 在beans.xml的基本属性&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;&amp;lt;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XM

2018-04-23 16:25:43 396

原创 设计模式学习——外观模式

设计模式学习——外观模式很久没有拿出时间来写一些东西了。最近在学习设计模式的内容,收益匪浅,打算写一个系列。表述 将复杂的子系统内容,整合成简约、学习成本低的接口。举例我们早晨出门上班,虽然每天都做得没有感觉复杂,但是在代码中体现,就会是这样:breadMarker.make();door.open();dorr.close();car.start(...

2018-04-18 14:24:34 187

原创 Error:Execution failed for task ':app:prepare Debug Android Test Dependencies'.Dependency Error. See

前言今天遇到个奇葩的问题,刚刚打包还好好的,突然就爆出:Error:Execution failed for task ':app:prepare Debug Android Test Dependencies'.> Dependency Error. See console for details.借助我英语二级的水平,颤颤巍巍打开有道翻译了下: 错误:任务执行失败:a

2018-02-02 10:25:57 1097

原创 GreenDao最简单,最直接,最解渴的使用教程

GreenDao的使用标签(空格分隔): 工具使用前言GreenDao,目前性能最好,速度最快的ORM框架。想要学习这个框架有一些时间了。一直忙于项目,所以之前选择学习成本相对较低的Sugar、xUtils、LitePal框架。 今天正式开始学习这个框架,由此记下学习的内容。八种基本类型: byte,boolean,char,short,int,float,lon

2018-01-25 10:28:42 617 1

原创 版本号比对(1.0.1)

APP版本号获取版本号有多个小数点,比对方法Split如何分离“.”字符串三种对比版本号方法

2017-12-13 14:35:33 3299 3

原创 Messenger——比AIDL简单的跨进程通讯

Messenger标签: 跨进程通讯参考Blog目录Messenger目录首先服务端配置1 实现Handler2 创建Messenger3 设置onBind方法返回值4 服务端整体代码6 配置客户端实现1 绑定服务2 设置点击事件3 客户端全代码总结源码地址在日常开发中,很少遇到跨进程通讯的需求。所以跨进程通讯这一块一直是我的痛点,准备面试的过程中,又一次揭开伤疤,痛定思

2017-12-02 23:04:05 252

原创 学习AIDL,这一篇差不多了

AIDL标签(空格分隔): 跨进程通讯参考Blog目录AIDL为什么要设计这门语言可传递的数据类型定向Tag实现步骤服务端配置1 创建aidl文件2 创建数据Model3 书写aidl文件内容4 创建服务端Service5 修改配置信息客户端配置1 文件拷贝2 创建连接3 展示 定向Tag源码地址AIDL(Android Interface Definition Lan

2017-12-01 17:58:05 444

原创 Java基础学习

Java集合学习标签(空格分隔): Java学习资料 LRH1993java中集合主要分为四种: List,Set,Queue,MapSetSet是无序的,不可重复的集合。实现Collection接口。一定意义上来说,Set就是Collection,只是行为上不同(不允许重复元素存在)。ListList是有序的,可重复的集合。也是Collection的子接口,由于有序,即存在下标索引,所以

2017-10-20 10:37:56 261

原创 HTML5学习笔记——2

HTML5学习笔记--2行间样式引入内部样式表引入外部样式表引入优先级ID名不可重复

2017-05-09 09:44:01 564

原创 ViewPager的自动循环滑动

ViewPager的自动循环滑动循环的设想——逻辑——实现自动循环的设想——逻辑——实现相关代码的项目地址

2017-05-05 17:13:55 724

原创 HTML5学习笔记——1

HTML5学习笔记首先是说一下学习HTML5的缘由。因为最近Android的就业环境是在是太差了。所以想要多一个技能傍身,走到哪里都不用怕。如果也有兴趣的,那么请跟随我一起学习。基础认识总听说HTML,但这是什么东西呢?还有跟HTML绑定的CSS,JavaScript。一开始我去百度了一下“Html和css、JavaScript有什么区别和关系”,回答很简单:你是还没接触HTML吧,不然不会问这个问

2017-05-05 11:53:02 778

原创 小白日记——下载进度的顶部通知

技术小白,把学到的觉得有用的东西放在上面,希望不要见笑。如果需要,欢迎转载。下面是实现代码 notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); builder = new NotificationCompat.Builder(this); Intent

2017-02-23 14:50:43 618

Messenger-比AIDL简单的跨进程通讯

通过Messenger实现跨进程通讯功能。简单体现了比AIDL更简单的实现方式。

2017-12-02

AIDL 学习Demo,包含定向Tag,序列化信息通讯。

AIDL的序列化信息通讯,定向tag的使用以及特性。AIDL的使用注意事项。

2017-12-01

空空如也

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

TA关注的人

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