自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lidongxiu0714

读书以博学,实践以登高!!!

原创 Android动画之ValueAnimator用法和自定义估值器

1 ValueAnimator和估值器简介 属性动画从API11 开始提供,动画实现主要依靠ValueAnimator和ObjectAnimator两个类,类,属性动画所在包为android.animation.Animator,和补间动画有明显区别,补间动画在android.view.anim...

2018-12-29 15:52:09

阅读数 4854

评论数 0

原创 Android动画之视图动画的缺点和属性动画的引入

本篇较短! 1视图动画添加监听 translate 动画 <?xml version="1.0" encoding="utf-8"?&...

2018-12-29 10:12:56

阅读数 2757

评论数 0

原创 Android动画之插值器Interpolator自定义

1 插值器继承结构 https://blog.csdn.net/u010126792/article/details/85327881 讲解了插值器的使用。 文章中的源码来源于API28,所以可能和低版本的不太一样 一般系统提供的插值器就可以满足我们的需求,但如果不能满足需求就需要我们自己定...

2018-12-28 18:05:10

阅读数 3386

评论数 0

原创 Android动画之插值器简介和系统默认插值器

1 插值器(Interpolator)简介 插值器(Interpolator)是设置动画运行过程中的变化规律,类似匀速变化,加速变化,回弹等。 补间动画Animation设置插值器的两个函数: public void setInterpolator(Context context, @Ani...

2018-12-28 16:49:22

阅读数 3150

评论数 0

原创 Android动画之逐帧动画FrameAnimation

1 逐帧动画介绍 视图动画由两部分组成,补间动画和逐帧动画,前面文章已经讲解了补间动画,下面讲解逐帧动画。 Frame-by-frame Animation主要作用于view,可以利用xml或者代码生成动画,如果使用xml方式生成动画需要在res/drawable 目录下创建动画xml文件(a...

2018-12-28 11:04:42

阅读数 2908

评论数 0

原创 Android动画之补间动画TweenAnimation

前面分析了Animation基类,然后简单概述了动画原理。Animation动画概述 下面讲解如何使用Animation的子类,包括: translate (平移动画) — TranslateAnimation scale (缩放动画) — Sca...

2018-12-28 10:03:03

阅读数 2832

评论数 0

原创 Animation动画概述和执行原理

1 Animation动画简介 Developers:https://developer.android.google.cn/reference/android/view/animation/package-summary Android中动画非常常用,很多效果都需要动画的配合,android...

2018-12-27 16:49:02

阅读数 3387

评论数 0

原创 Android 动态修改渐变 GradientDrawable

1GradientDrawable 简介 渐变实现 前面的文章 讲解了如何实现渐变类似LinearGradient,SweepGradient是用于Paint的setShader的,可以通过定义xml的shape,内部利用gradient标签,将shape作为view的背景快速实现渐变。但当我...

2018-12-26 17:43:40

阅读数 4925

评论数 2

原创 Android绘图之贝塞尔曲线简介(15)

1贝塞尔曲线简介 贝塞尔曲线被发明用来进行汽车的主体设计(流线型),具体就是通过起始点和终点,以及若干控制点,通过调整控制点形成的曲线就叫做贝塞尔曲线,很多复杂一点的特效都需要贝塞尔曲线来实现,我们用的比较多的是二维和三维贝塞尔曲线。 应用:抛物线,水波纹,平滑曲线。 具体数学推导公式我也看...

2018-12-26 16:09:35

阅读数 2870

评论数 0

原创 Android绘图之drawText,getTextBounds,measureText,FontMetrics,基线(14)

1如何测量一段文本占用的长度和宽度 Paint类提供了测量宽高的方法: getTextBounds(String text, int start, int end, Rect bounds) 返回一个包含所有字符,默认从(0,0)开始的最小矩形的矩形框。 measureText(Strin...

2018-12-26 13:51:51

阅读数 2887

评论数 0

原创 Android绘图之ComposeShader,PorterDuff.mode及Xfermode(13)

ComposeShader,PorterDuff.mode及Xfermode 1 ComposeShader 简介 ComposeShader 组合另外两种shader的效果。 ComposeShader构造函数: /** * Create a new compose shader, ...

2018-12-25 19:35:29

阅读数 2827

评论数 0

原创 Android绘制之BitmapShader(12)

BitmapShader简介 讲解Paint.setShader中Shader的第四个实现类BitmapShader,前面三个都是渐变,BitmapShader使用图片当做shader,Paint画出的形状都是取自shader中的Bitmap。BitmapShader利用bitmap构建shad...

2018-12-25 14:56:06

阅读数 2840

评论数 0

原创 Android绘图之RadialGradient 放射渐变(11)

1 RadialGradient 简介 LinearGradient 和 SweepGradient,这次讲解RadialGradient; RadialGradient被称为放射渐变,就是从中心向外圆形渐变。 两个构造函数,第一个构造函数可以实现两种颜色的渐变,第二个构造函数可以实现多个...

2018-12-25 11:34:00

阅读数 3346

评论数 0

原创 RecycleView 中使用glide加载图片如何防止加载错乱

Glide内部已经使用了setTag的方式, 如果再使用ImageView的setTag会报错,所以使用setTag(xxx,xxx)函数。 try { String uri = item.getBackgroundUrl(); ...

2018-12-24 19:46:56

阅读数 3490

评论数 0

原创 Android绘图之SweepGradient(10)

SweepGradient扫描渐变 SweepGradient可以实现扫描渐变渲染,类似雷达扫描图,渐变圆弧,渐变进度条等,构造函数有两个: /** * A Shader that draws a sweep gradient around a center point. * * ...

2018-12-24 19:37:38

阅读数 3009

评论数 0

原创 Android绘图之LinearGradient线性渐变(9)

linearGradient简介 linearGradient线性渐变,会用到Paint的setShader,Shader 被称为着色器,在opengl中这个概念经常被用到,android中的shader主要用来给图像着色,Shader在绘制过程中会返回横向重要的颜色组,Paint设置shade...

2018-12-24 18:02:25

阅读数 9572

评论数 0

原创 Android绘图之PathEffect (8)

1 PathEffect 概念 Paint的setPathEffect函数用于设置绘制几何时的路径样式(线条的轮廓),PathEffect从名字就可以知道主要作用于Path路径,PathEffect是个基类,要实现具体功能需要利用具体的实现类。PathEffect的实现类包括ComposePat...

2018-12-24 15:13:41

阅读数 2767

评论数 0

原创 Android绘图之Canvas状态保存和恢复(7)

1 Canvas 状态保存和恢复 前面讲canvas概念理解时 已经讲解了save和savelayer,saveLayerAlpha函数,这里进行canvas状态保存和恢复的详细讲解。 Canvas 调用了translate,scale,rotate,skew,concat or clipR...

2018-12-21 16:57:11

阅读数 3708

评论数 0

原创 Android绘图之Canvas变换(6)

Canvas 与屏幕 前面讲解了Canvas的基本概念,Android绘图之Canvas概念理解(5) , 对Canvas的概念进行了分析,但是没有说明和屏幕的关系,Canvas不等于屏幕,屏幕不会动的,我们也无法对屏幕进行(平移,缩放等)操作,只能对Canvas进行操作,所以对Canvas进...

2018-12-21 14:51:08

阅读数 2770

评论数 0

原创 Android绘图之Canvas概念理解(5)

Canvas概述 想要理解canvas不容易,官方对Canvas这个类的介绍没有说太多,下面我说说我的理解,当然也是结合网上大神们的文章,下面我们从Canvas这个类的注释和方法的注释上来了解这个类。 Canvas 类上的注释 第一段注释(Canvas类上): The Canvas cla...

2018-12-21 11:00:35

阅读数 2819

评论数 0

原创 Android绘图之drawText绘制文本相关(4)

绘制文字相关: Paint 相关设置, Canvas相关设置。 1 Paint绘制文字相关: 相关函数说明: mPaint.setStrokeWidth(10);//设置画笔宽度 mPaint.setColor(Color.BLUE);//设置画笔颜色 mPaint.setStyle...

2018-12-20 17:41:12

阅读数 3125

评论数 0

原创 Android绘图之Path(3)

1 Path 简介 前面利用Paint,Canvas已经可以绘制出各式各样的简单图形了,本篇讲解Path意为路径,canvas中有drawPath函数按照路径绘制图形。利用Path可以更方便的添加节点,控制形状,对于复杂的形状简单的通过Canvas的绘制函数进行绘制繁琐且麻烦,使用Path可能会...

2018-12-20 14:11:45

阅读数 3188

评论数 0

原创 android绘图之Canvas基础(2)

Canvas 基础 Canvas画布,用于绘制出各种形状配合画布的变幻操作可以绘制出很多复杂图形,基本的绘制图形分类。 提供的绘制函数: canvas.drawColor(); canvas.drawRGB(); canvas.drawRect(); canvas.drawRoundR...

2018-12-20 10:05:37

阅读数 2933

评论数 0

原创 android绘图之Paint(1)

android Paint android中绘制特定图案类似显示中的绘画需要画笔和画纸,为此android提供了Paint和Canvas。 Paint和Canvas分别代表画笔和画布。 The Paint class holds the style and color information...

2018-12-19 17:28:26

阅读数 2907

评论数 0

原创 Handler延迟消息执行机制,会阻塞吗?

Handler调用过程简单说明 Handler在Android中使用频繁,主要用来进行进程间通信,子线程通过Handler可以操作UI。有send和post两种方法,send方法是在工作线程中处理完耗时操作后调用handler的sendMessage(message)把message对象发送给主...

2018-12-19 11:10:52

阅读数 4240

评论数 3

原创 Android Serializable和Parcelable原理和使用选择

1 android 中的对象序列化 序列化的目的是保存或传输数据,android中序列化目的具体包括: 将对象持久化到本地(保存在文件或者数据库中)方便下次复用。 序列化之后,利用数据流在网络中传输。 组件间传递数据。 2 序列化手段 java中最常用的序列化标识是Serializable,定...

2018-12-18 14:19:10

阅读数 2672

评论数 0

原创 Activity启动模式和flag学习,及Activity的换栈能力

1 四种启动模式 standard,singleTop,singleTask,singleInstance. 解释: statndard :什么启动模式都不设置就是默认模式,启动一个activity如果Task栈不存在则新建一个Task存入activity实例,如果Task栈已经存在则直接把...

2018-12-18 11:05:51

阅读数 2664

评论数 0

原创 Android判断两个时间戳是否是一天

//两个时间戳是否是同一天 时间戳是long型的(11或者13) public static boolean isSameData(String currentTime,String lastTime) { try { Calendar nowCal...

2018-12-17 17:43:15

阅读数 4391

评论数 0

原创 FragmentTransaction commit() 和commitAllowingStateLoss()的区别

两者的作用都是提交Fragment的commit操作,commitAllowingStateLoss允许丢失一些界面的状态和信息; 举例: fragment页面可能因某些特殊状况被销毁,然后系统会自发重新创建,此时会读取onSaveInstanceState保存的状态信息。在onSaveIns...

2018-12-17 17:39:01

阅读数 2888

评论数 0

原创 onSaveInstanceState()和onRestoreInstanceState() 执行时机和Activity生命周期函数执行顺序

1 onSaveInstanceState()和onRestoreInstanceState() Activity会在某些特殊情况下被销毁(内存不足,或者不是在主页面调用 Process.killProcess,system.exit()等),然后系统会重新调起Activity。onSaveIn...

2018-12-17 17:33:25

阅读数 2908

评论数 0

原创 透明主题activity和dialog对其他activity生命周期的影响

1 activity的生命周期简单说明 首先上官网图片: //activity不同状态有不同的回调: public class ExampleActivity extends Activity { @Override public void onCreate(Bund...

2018-12-14 16:56:47

阅读数 4073

评论数 0

原创 Android获取系统中的其他应用信息

public class APPUtils { public static final String TAG = "APPUtils"; public static int getApplicationVersionCode(Context context, S...

2018-12-13 11:54:33

阅读数 2809

评论数 0

原创 git detached HEAD 修改后如何提交修改到其他分支

有次工作中git切换分支时,不小心前面加了origin/,但是像往常一样没有注意,直接在新分支上修改代码,等到要提交时给出的提示是git detached HEAD,还说切换分支之前请确保代码不会丢失,所以此时是可能造成修改的代码丢失的。 首先说下 detached Head 的意义,就是处于游...

2018-12-11 09:40:36

阅读数 698

评论数 0

原创 兼容ProgressBar圆形设置颜色

21以上的api 可以直接设置颜色 通过coloraccount 或者是android:indeterminateTint="@color/colorPrimary" 在低版本是不行的 所我判断了版本通过加载成一个drawabl...

2018-12-04 15:48:45

阅读数 963

评论数 0

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