自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 ContextWrapper,ContextImpl,Context的关系及dialog传入application的context为什么会报错

问题在Android中都知道context,activity,application,service都间接的继承于context。在他们内部都有一个context,那他们之间有什么区别吗,dialog创建时可以传入application的context吗?一开始看到这个问题的时候一脸懵逼,还是通过查看源码寻找一下答案吧。各种context源码Context源码public abstract class Context { */ public abstract AssetMan

2020-06-01 19:02:28 989

原创 Android 创建activity流程-基于api28

Android 9.0版本的activity的启动流程于之前相比发生了一些改动,但是改动也不大。本文基于Android 9.0版本源码,从Activity启动方法startActivity为切入口分析整个流程。首先从activity的startActivity开始//activity @Override public void startActivity(Intent intent) { this.startActivity(intent, null); }

2020-06-01 16:34:42 2331 1

原创 圆环百分比分布图

有时候我们会遇到做百分比分布图的功能,这样的功能说难不难,说容易也不容易,主要是对绘制api和动画掌握的较为熟悉就行,下面就试试做下这个功能首先看个效果图:一、分析实现这个效果要做哪些事:1.画一个底部灰色圆 2.画绿色圆弧 3.画红褐色圆弧动态圆弧的实现可以通过动画来实现,首先是绿色圆弧,只需要动态增加圆弧所需要经过的弧度即可,红褐色圆弧则就需要将起点设置在绿圆弧的结束位置,结束点在绿圆弧的起

2017-11-14 17:04:33 3441

原创 Android贝塞尔曲线运用-圆形水波进度

上此讲了用贝塞尔曲线去做水波显示动画,在最后说了要实现一个圆形水波进度条,那这一篇就说下怎么实现一个圆形水波进度条,先上个图看看效果要是想这个效果需要掌握上篇说的那些东西外,还需要知道canvas的裁剪知识范围裁剪canvas.clipRect();裁剪出来一个矩形范围 canvas.clipRect(getWidth()/2-200,getHeight()/2-200,getWidth()/2+2

2017-09-20 15:45:14 1836

原创 Android贝塞尔曲线-水波篇

在做自定义view时,很多时候会用到贝塞尔曲线这个东西去实现一些效果,像以前写的那个仿直播点赞动画的实现就是用到了贝塞尔曲线,这次说的水波也会用到贝塞尔曲线这个东西。Android贝塞尔曲线api首先看下贝塞尔曲线公式:一阶二阶其中p0是起点,p1是控制点,p2是终点三阶其中p0是起点,p1,p2是控制点,p3是终点Android做好了相应的api,分别如下:二阶:quadTo(float x1,

2017-09-18 22:16:32 2555

原创 okhttp单项验证

上篇提到picasso加载https图片说到了okhttp的单向验证问题,也就不解释啥叫单向认证了,先看一下谷歌的单向认证代码 try { CertificateFactory cf = CertificateFactory.getInstance("X.509"); InputStream in = AppContext.getInstance().

2017-08-24 09:43:14 932

原创 使用picasso加载需要证书的https图片

我在项目中用到的图片加载框架是picasso,但是最近遇到个问题,picasso加载不出来公司的https图片,查了下需要将以下代码到application中final Picasso picasso = new Picasso.Builder(this) .downloader(new OkHttp3Downloader(client))

2017-08-23 18:02:04 2722

原创 Alterdialog中不弹出软键盘原因分析及解决办法

相信很多人都做过自定义的alterdialog,但不知道有没有发现当alterdialog布局中有exittext的时候即使edittext获得焦点也不能弹出软键盘,是不是很操蛋,而将alterdialog换成dialog的时候就可以的弹出了。下面就去分析一下为什么会这样看一下alterdialog这个类,点击去就会看到头部注释上有这么一段话The AlertDialog class takes c

2017-08-23 10:50:14 3878

原创 让textview字体大小自适应宽度

很多时候需要动态根据字符长度设置字体的大小来适应给定的宽度,一般来说可以通过measureText()或者getTextBounds来实现。两者的区别在于后者获得的宽度是紧紧的贴着字体,前者是左右会多出一点点宽度。这里采用getTextBounds来实现。直接看代码吧public void setAutoTextSize(){ float width=textView.getWidt

2017-08-16 18:39:31 1282

原创 浅谈activity的创建与DecorView的创建加载

前言在Android开发中,相信接触最多的就是activity以及view,并且很多人都能熟练的运用,但很多人还是会对activity正式创建到view的加载这一流程感到迷惑,本文从源码的角度简单谈谈这一过程view加载decorview首先看看view是如何将decorview加载进窗体中的,至于decorview是什么等下在说。在启动一个activity的时候,会调用ActivityThread

2017-07-20 16:42:01 590

原创 使用picasso设置背景时的问题

在使用picasso给一些不是imageview的控件设置背景的时候,可以用Picasso.with(getActivity()).load(url).into(new Target());来给view设置背景,具体如下 Picasso.with(getActivity()).load(url).into(new Target() { @Override

2017-07-20 13:59:42 1074

原创 webview加载https地址图片显示不出来问题

最近遇到个问题,API21之后的手机webview加载https页面,加载不出来页面中的http地址图片,利用其他手机查看了一下报出https地址使用了http的资源图片的警告,因此猜测在https地址中只能引用安全的https资源,所以可以通过一下设置来做到加载显示https图片 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)

2017-07-17 10:18:43 1421

原创 属性动画设置addListener后onAnimationStart不执行

遇到个问题,当调用属性的动画的时候设置addListener后,想要在onAnimationStart执行时做些操作,但是发现却只执行了onAnimationEnd,这尼玛就操蛋了,具体原因还不清楚,但是给属性动画设置一个延迟值就可以了* objectAnimator.setStartDelay(time);*,当time不为0的任意值时回调可以正常执行,这里先记一下,以后慢慢探索

2017-06-20 17:49:40 4059 1

原创 仿直播点赞动画

前一段时间感觉直播很火,因此我就下了七八个直播软件去看了,不要问我为啥下这么多,我会告诉你我想看看哪个平台的妹子颜值高吗,好吧最终喜欢上看映客的一个妹子。妹子歌唱的很好听可惜屌丝的我涮不起礼物,只能在屏幕下方狂点赞了。好了这次当然不是讨论直播平台的妹子,而是看下直播软件点赞的效果怎样实现的。 说一下思想吧,首先利用属性动画的放大效果让生成的图片不至于太突兀的显示,接着让生成的图片沿着三阶贝塞尔曲线

2017-04-13 10:39:02 1089

原创 viewpager切换效果

经常看到一些应用使用viewpager切换页面时效果非常炫酷,其实在Android中viewpager提供了一个方法用于设置页面切换时的效果setPageTransformer,然后重写void transformPage(View page, float position)就可以实现。 参数 page表示动画作用在当前的页面 position:0表示当前页面,1表示当前页面的右边一个页面,-1

2017-04-11 17:06:05 664

原创 viewpager实现循环轮播

viewpager实现循环轮播在网上看到很多利用viewpager实现轮播都是通过设置一个很大的值,让viewpager开始显示在这个数值区间的中间,但这种轮播个人感觉不是真正的轮播,因此自己实现了一个轮播的效果。大致思路是这样的,假如有5张图adcde是要轮播展示的,这时创建一个新的集合eadcdea,然后再让viewpager设置当前展示第一张图,也就是显示a。这样当往左滑时显示的是e,此时设置

2017-04-05 16:08:49 1032

空空如也

空空如也

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

TA关注的人

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