<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[jhxlx的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/asdfasfasfs</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; asdfasfasfs]]></copyright><item><title><![CDATA[ContextWrapper，ContextImpl，Context的关系及dialog传入application的context为什么会报错]]></title><link>https://blog.youkuaiyun.com/asdfasfasfs/article/details/106477826</link><guid>https://blog.youkuaiyun.com/asdfasfasfs/article/details/106477826</guid><author>asdfasfasfs</author><pubDate>Mon, 01 Jun 2020 19:02:28 +0800</pubDate><description><![CDATA[问题
在Android中都知道context，activity，application，service都间接的继承于context。在他们内部都有一个context，那他们之间有什么区别吗，dialog创建时可以传入application的context吗？一开始看到这个问题的时候一脸懵逼，还是通过查看源码寻找一下答案吧。
各种context源码
Context源码
public abstract class Context {
  
     */
    public abstract AssetMan]]></description><category></category></item><item><title><![CDATA[Android 创建activity流程-基于api28]]></title><link>https://blog.youkuaiyun.com/asdfasfasfs/article/details/106473057</link><guid>https://blog.youkuaiyun.com/asdfasfasfs/article/details/106473057</guid><author>asdfasfasfs</author><pubDate>Mon, 01 Jun 2020 16:34:42 +0800</pubDate><description><![CDATA[Android 9.0版本的activity的启动流程于之前相比发生了一些改动，但是改动也不大。本文基于Android 9.0版本源码，从Activity启动方法startActivity为切入口分析整个流程。
首先从activity的startActivity开始
//activity
  @Override
    public void startActivity(Intent intent) {
        this.startActivity(intent, null);
    }

   ]]></description><category></category></item><item><title><![CDATA[圆环百分比分布图]]></title><link>https://blog.youkuaiyun.com/asdfasfasfs/article/details/78532517</link><guid>https://blog.youkuaiyun.com/asdfasfasfs/article/details/78532517</guid><author>asdfasfasfs</author><pubDate>Tue, 14 Nov 2017 17:04:33 +0800</pubDate><description><![CDATA[有时候我们会遇到做百分比分布图的功能，这样的功能说难不难，说容易也不容易，主要是对绘制api和动画掌握的较为熟悉就行，下面就试试做下这个功能首先看个效果图:一、分析实现这个效果要做哪些事：1.画一个底部灰色圆 
2.画绿色圆弧 
3.画红褐色圆弧动态圆弧的实现可以通过动画来实现，首先是绿色圆弧，只需要动态增加圆弧所需要经过的弧度即可，红褐色圆弧则就需要将起点设置在绿圆弧的结束位置，结束点在绿圆弧的起]]></description><category></category></item><item><title><![CDATA[Android贝塞尔曲线运用-圆形水波进度]]></title><link>https://blog.youkuaiyun.com/asdfasfasfs/article/details/78041728</link><guid>https://blog.youkuaiyun.com/asdfasfasfs/article/details/78041728</guid><author>asdfasfasfs</author><pubDate>Wed, 20 Sep 2017 15:45:14 +0800</pubDate><description><![CDATA[上此讲了用贝塞尔曲线去做水波显示动画，在最后说了要实现一个圆形水波进度条，那这一篇就说下怎么实现一个圆形水波进度条，先上个图看看效果要是想这个效果需要掌握上篇说的那些东西外，还需要知道canvas的裁剪知识范围裁剪canvas.clipRect()；裁剪出来一个矩形范围 canvas.clipRect(getWidth()/2-200,getHeight()/2-200,getWidth()/2+2]]></description><category></category></item><item><title><![CDATA[Android贝塞尔曲线-水波篇]]></title><link>https://blog.youkuaiyun.com/asdfasfasfs/article/details/78024490</link><guid>https://blog.youkuaiyun.com/asdfasfasfs/article/details/78024490</guid><author>asdfasfasfs</author><pubDate>Mon, 18 Sep 2017 22:16:32 +0800</pubDate><description><![CDATA[在做自定义view时，很多时候会用到贝塞尔曲线这个东西去实现一些效果，像以前写的那个仿直播点赞动画的实现就是用到了贝塞尔曲线，这次说的水波也会用到贝塞尔曲线这个东西。Android贝塞尔曲线api首先看下贝塞尔曲线公式：一阶二阶其中p0是起点，p1是控制点，p2是终点三阶其中p0是起点，p1，p2是控制点，p3是终点Android做好了相应的api，分别如下：二阶：quadTo(float x1,]]></description><category></category></item><item><title><![CDATA[okhttp单项验证]]></title><link>https://blog.youkuaiyun.com/asdfasfasfs/article/details/77523319</link><guid>https://blog.youkuaiyun.com/asdfasfasfs/article/details/77523319</guid><author>asdfasfasfs</author><pubDate>Thu, 24 Aug 2017 09:43:14 +0800</pubDate><description><![CDATA[上篇提到picasso加载https图片说到了okhttp的单向验证问题，也就不解释啥叫单向认证了，先看一下谷歌的单向认证代码 try {
            CertificateFactory cf = CertificateFactory.getInstance("X.509");
            InputStream in = AppContext.getInstance().]]></description><category></category></item><item><title><![CDATA[使用picasso加载需要证书的https图片]]></title><link>https://blog.youkuaiyun.com/asdfasfasfs/article/details/77509209</link><guid>https://blog.youkuaiyun.com/asdfasfasfs/article/details/77509209</guid><author>asdfasfasfs</author><pubDate>Wed, 23 Aug 2017 18:02:04 +0800</pubDate><description><![CDATA[我在项目中用到的图片加载框架是picasso，但是最近遇到个问题，picasso加载不出来公司的https图片，查了下需要将以下代码到application中final Picasso picasso = new Picasso.Builder(this)
                .downloader(new OkHttp3Downloader(client))]]></description><category></category></item><item><title><![CDATA[Alterdialog中不弹出软键盘原因分析及解决办法]]></title><link>https://blog.youkuaiyun.com/asdfasfasfs/article/details/77503158</link><guid>https://blog.youkuaiyun.com/asdfasfasfs/article/details/77503158</guid><author>asdfasfasfs</author><pubDate>Wed, 23 Aug 2017 10:50:14 +0800</pubDate><description><![CDATA[相信很多人都做过自定义的alterdialog，但不知道有没有发现当alterdialog布局中有exittext的时候即使edittext获得焦点也不能弹出软键盘，是不是很操蛋，而将alterdialog换成dialog的时候就可以的弹出了。下面就去分析一下为什么会这样看一下alterdialog这个类，点击去就会看到头部注释上有这么一段话The AlertDialog class takes c]]></description><category></category></item><item><title><![CDATA[让textview字体大小自适应宽度]]></title><link>https://blog.youkuaiyun.com/asdfasfasfs/article/details/77263436</link><guid>https://blog.youkuaiyun.com/asdfasfasfs/article/details/77263436</guid><author>asdfasfasfs</author><pubDate>Wed, 16 Aug 2017 18:39:31 +0800</pubDate><description><![CDATA[很多时候需要动态根据字符长度设置字体的大小来适应给定的宽度，一般来说可以通过measureText()或者getTextBounds来实现。两者的区别在于后者获得的宽度是紧紧的贴着字体，前者是左右会多出一点点宽度。这里采用getTextBounds来实现。直接看代码吧public void setAutoTextSize(){
        float width=textView.getWidt]]></description><category></category></item><item><title><![CDATA[浅谈activity的创建与DecorView的创建加载]]></title><link>https://blog.youkuaiyun.com/asdfasfasfs/article/details/75547429</link><guid>https://blog.youkuaiyun.com/asdfasfasfs/article/details/75547429</guid><author>asdfasfasfs</author><pubDate>Thu, 20 Jul 2017 16:42:01 +0800</pubDate><description><![CDATA[前言在Android开发中，相信接触最多的就是activity以及view，并且很多人都能熟练的运用，但很多人还是会对activity正式创建到view的加载这一流程感到迷惑，本文从源码的角度简单谈谈这一过程view加载decorview首先看看view是如何将decorview加载进窗体中的，至于decorview是什么等下在说。在启动一个activity的时候，会调用ActivityThread]]></description><category></category></item><item><title><![CDATA[使用picasso设置背景时的问题]]></title><link>https://blog.youkuaiyun.com/asdfasfasfs/article/details/75517049</link><guid>https://blog.youkuaiyun.com/asdfasfasfs/article/details/75517049</guid><author>asdfasfasfs</author><pubDate>Thu, 20 Jul 2017 13:59:42 +0800</pubDate><description><![CDATA[在使用picasso给一些不是imageview的控件设置背景的时候，可以用Picasso.with(getActivity()).load(url).into(new Target());来给view设置背景，具体如下 Picasso.with(getActivity()).load(url).into(new Target() {
            @Override]]></description><category></category></item><item><title><![CDATA[webview加载https地址图片显示不出来问题]]></title><link>https://blog.youkuaiyun.com/asdfasfasfs/article/details/75218923</link><guid>https://blog.youkuaiyun.com/asdfasfasfs/article/details/75218923</guid><author>asdfasfasfs</author><pubDate>Mon, 17 Jul 2017 10:18:43 +0800</pubDate><description><![CDATA[最近遇到个问题，API21之后的手机webview加载https页面，加载不出来页面中的http地址图片，利用其他手机查看了一下报出https地址使用了http的资源图片的警告，因此猜测在https地址中只能引用安全的https资源，所以可以通过一下设置来做到加载显示https图片  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)]]></description><category></category></item><item><title><![CDATA[属性动画设置addListener后onAnimationStart不执行]]></title><link>https://blog.youkuaiyun.com/asdfasfasfs/article/details/73504982</link><guid>https://blog.youkuaiyun.com/asdfasfasfs/article/details/73504982</guid><author>asdfasfasfs</author><pubDate>Tue, 20 Jun 2017 17:49:40 +0800</pubDate><description><![CDATA[遇到个问题，当调用属性的动画的时候设置addListener后，想要在onAnimationStart执行时做些操作，但是发现却只执行了onAnimationEnd，这尼玛就操蛋了，具体原因还不清楚，但是给属性动画设置一个延迟值就可以了* objectAnimator.setStartDelay(time);*，当time不为0的任意值时回调可以正常执行，这里先记一下，以后慢慢探索]]></description><category></category></item><item><title><![CDATA[仿直播点赞动画]]></title><link>https://blog.youkuaiyun.com/asdfasfasfs/article/details/70155125</link><guid>https://blog.youkuaiyun.com/asdfasfasfs/article/details/70155125</guid><author>asdfasfasfs</author><pubDate>Thu, 13 Apr 2017 10:39:02 +0800</pubDate><description><![CDATA[前一段时间感觉直播很火，因此我就下了七八个直播软件去看了，不要问我为啥下这么多，我会告诉你我想看看哪个平台的妹子颜值高吗，好吧最终喜欢上看映客的一个妹子。妹子歌唱的很好听可惜屌丝的我涮不起礼物，只能在屏幕下方狂点赞了。好了这次当然不是讨论直播平台的妹子，而是看下直播软件点赞的效果怎样实现的。 
说一下思想吧，首先利用属性动画的放大效果让生成的图片不至于太突兀的显示，接着让生成的图片沿着三阶贝塞尔曲线]]></description><category></category></item><item><title><![CDATA[viewpager切换效果]]></title><link>https://blog.youkuaiyun.com/asdfasfasfs/article/details/70059708</link><guid>https://blog.youkuaiyun.com/asdfasfasfs/article/details/70059708</guid><author>asdfasfasfs</author><pubDate>Tue, 11 Apr 2017 17:06:05 +0800</pubDate><description><![CDATA[经常看到一些应用使用viewpager切换页面时效果非常炫酷，其实在Android中viewpager提供了一个方法用于设置页面切换时的效果setPageTransformer，然后重写void transformPage(View page, float position)就可以实现。 
参数 page表示动画作用在当前的页面 
position：0表示当前页面，1表示当前页面的右边一个页面，-1]]></description><category></category></item><item><title><![CDATA[viewpager实现循环轮播]]></title><link>https://blog.youkuaiyun.com/asdfasfasfs/article/details/69258871</link><guid>https://blog.youkuaiyun.com/asdfasfasfs/article/details/69258871</guid><author>asdfasfasfs</author><pubDate>Wed, 05 Apr 2017 16:08:49 +0800</pubDate><description><![CDATA[viewpager实现循环轮播在网上看到很多利用viewpager实现轮播都是通过设置一个很大的值，让viewpager开始显示在这个数值区间的中间，但这种轮播个人感觉不是真正的轮播，因此自己实现了一个轮播的效果。大致思路是这样的，假如有5张图adcde是要轮播展示的，这时创建一个新的集合eadcdea，然后再让viewpager设置当前展示第一张图，也就是显示a。这样当往左滑时显示的是e，此时设置]]></description><category></category></item></channel></rss>