<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[AmStrong_的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/AmStrong_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; AmStrong_]]></copyright><item><title><![CDATA[日历控件MaterialCalendarView的自定义样式、每日不同样式（不修改源码）]]></title><link>https://blog.youkuaiyun.com/AmStrong_/article/details/82700018</link><guid>https://blog.youkuaiyun.com/AmStrong_/article/details/82700018</guid><author>AmStrong_</author><pubDate>Fri, 14 Sep 2018 11:25:33 +0800</pubDate><description><![CDATA[一、介绍

MaterialCalendarView是一个日历控件。

GitHub地址

作者对它封装的很深，如果你要加入自己的一些东西比较难，他给出的接口感觉太少了，网上一些文章基本都是直接拉源码下来修改的，个人不太喜欢那样做。所以自己阅读源码和框架，在他给出的接口上完成了自定义样式，基本需要改的东西都可以实现了。先上一个效果图。



主要分两部分：


一个是添加了价格的文本显示。
一个是...]]></description><category></category></item><item><title><![CDATA[自定义View之地图下方可拖拽列表布局DragUpDownLinearLayout]]></title><link>https://blog.youkuaiyun.com/AmStrong_/article/details/81067746</link><guid>https://blog.youkuaiyun.com/AmStrong_/article/details/81067746</guid><author>AmStrong_</author><pubDate>Mon, 16 Jul 2018 16:48:38 +0800</pubDate><description><![CDATA[这个控件是仿制高德地图下面的可拖拽列表栏做的。实现主要就是一个LinearLayout响应用户手势拖拽，有全屏，半屏，和隐藏三个模式。依据拖拽到松手的位置的y坐标占屏幕的百分比来确定对应的模式位置，再利用动画移动到对应的模式位置。 
完整的代码我会贴在文末。 


一、确定三个模式的位置

我这里使用的是铺满contentView，占contentView的1/3,和全部在隐藏在下面只留一个拖拽条...]]></description><category></category></item><item><title><![CDATA[自定义View之轮播控件BannerView]]></title><link>https://blog.youkuaiyun.com/AmStrong_/article/details/79960623</link><guid>https://blog.youkuaiyun.com/AmStrong_/article/details/79960623</guid><author>AmStrong_</author><pubDate>Mon, 16 Apr 2018 14:53:45 +0800</pubDate><description><![CDATA[一、介绍

在项目中使用的自动轮播控件一直是网上别人做的，在出现问题的时候去看代码细节扫雷就非常浪费时间。于是痛定思痛自己造个轮子。 
  这个控件在app中使用非常频繁，并且原理也不复杂，就是在前后各加一页。相信每一个android开发者都会做这个东西。 
  功能介绍： 
1.无限自动轮播。 
2.指示器（下方的小点点） 
3.滚动动画时间可调 
4.拖拽的时候停止轮播 


全部代码和示例代...]]></description><category></category></item><item><title><![CDATA[解决NestedScrollView 嵌套 RecyclerView 滑动没有惯性，直接停顿的现象]]></title><link>https://blog.youkuaiyun.com/AmStrong_/article/details/79570790</link><guid>https://blog.youkuaiyun.com/AmStrong_/article/details/79570790</guid><author>AmStrong_</author><pubDate>Thu, 15 Mar 2018 17:04:04 +0800</pubDate><description><![CDATA[平时我们滑动的时候都知道ScrollView都是带有惯性滑动效果的。但是在5.0以上系统使用NestedScrollView嵌套RecyleView时,惯性滑动会失效,滑起来会感觉很不顺畅。那怎么解决呢?

1.禁止RecyclerView 的滑动 
方法很简单,一般我们这么嵌套都是为了让外部NestedScrollView滑动而recyclerView不滑动的，所以我们只要让recyclerVi...]]></description><category></category></item><item><title><![CDATA[Android 封装自定义无限轮播banner之体验装饰模式]]></title><link>https://blog.youkuaiyun.com/AmStrong_/article/details/79423573</link><guid>https://blog.youkuaiyun.com/AmStrong_/article/details/79423573</guid><author>AmStrong_</author><pubDate>Fri, 02 Mar 2018 15:11:36 +0800</pubDate><description><![CDATA[现在基本每个资讯类应用都会使用到banner来无限轮播，现在项目中使用别人封装的ViewPager总会遇到不可预知的问题，修改起来也十分麻烦，于是决定自己封装一个，在使用适配器的时候遇到一个问题，就是虽然是ViewPage的PageAdapter逻辑部分肯定是要留给使用者去写的，但是adapter给他写了之后，我还要在里面扩展上无限轮播的功能，例如getCount（）里我要给它加上一个2。所以这里...]]></description><category></category></item><item><title><![CDATA[Android 反编译Apk]]></title><link>https://blog.youkuaiyun.com/AmStrong_/article/details/79289448</link><guid>https://blog.youkuaiyun.com/AmStrong_/article/details/79289448</guid><author>AmStrong_</author><pubDate>Thu, 08 Feb 2018 14:38:40 +0800</pubDate><description><![CDATA[在mac os系统上反编译android apk，首先需要准备好以下3个文件：

1、apktool：https://ibotpeaches.github.io/Apktool/install/  

2、dex2jar：https://github.com/pxb1988/dex2jar 

3、jd-gui：http://jd.benow.ca

然后下过来文件列表如图





第一步 调用...]]></description><category></category></item><item><title><![CDATA[Android 上传头像功能第三方框架Boxing与TakePhoto使用总结]]></title><link>https://blog.youkuaiyun.com/AmStrong_/article/details/79240737</link><guid>https://blog.youkuaiyun.com/AmStrong_/article/details/79240737</guid><author>AmStrong_</author><pubDate>Fri, 02 Feb 2018 16:34:30 +0800</pubDate><description><![CDATA[刚做了个人中心的上传头像功能，就来总结一下做的过程。一开始就直接去github上找一个第三方框架接入，省点事，先是听了朋友的推荐去看了一下bilibili开源的一款Boxing的框架，但是使用起来发现不太符合我的需求。最后还是使用TakePhoto这个，使用起来十分好用。一、Boxinghttps://github.com/Bilibili/boxingbilibili也有开源框架啦？ 
赶忙下来用]]></description><category></category></item><item><title><![CDATA[Android Glide加载图片圆角效果与ImageView的ScaleType冲突问题]]></title><link>https://blog.youkuaiyun.com/AmStrong_/article/details/79174704</link><guid>https://blog.youkuaiyun.com/AmStrong_/article/details/79174704</guid><author>AmStrong_</author><pubDate>Fri, 26 Jan 2018 17:12:05 +0800</pubDate><description><![CDATA[在imageVIew显示图片的时候一般是使用android:scaleType="centerCrop"来让图片不被变形显示。但是如果现在用Glide来加载图片并给它转化出一个圆角                        .transform(new GlideRoundTransform(getContext(), 2))就会发现，在第一次加载图片的时候是有圆角的，但是第二次加载缓存图片的时]]></description><category></category></item><item><title><![CDATA[Android WebView加载本地统一HTML界面样式文件并填充内容]]></title><link>https://blog.youkuaiyun.com/AmStrong_/article/details/79087996</link><guid>https://blog.youkuaiyun.com/AmStrong_/article/details/79087996</guid><author>AmStrong_</author><pubDate>Wed, 17 Jan 2018 17:32:23 +0800</pubDate><description><![CDATA[前言

之前加载HTMl图文都是使用TextView,但是现在需要统一三个端的样式，给出了一个HTML文件，我想反正都是HTML格式的，TextView应该也没问题。我就将文本直接填充进去，一运行。。。。发现Html.fromHtml 无法解析部分代码，直接把它们显示了出来。。 
 
 
我又是一个HTML的小白，于是乎还是掏出了WebView来实现吧！



1、HTML样式文件读取

首先将文]]></description><category></category></item><item><title><![CDATA[Android TextView加载HTMl图文之添加点击事件和查看图片]]></title><link>https://blog.youkuaiyun.com/AmStrong_/article/details/79077482</link><guid>https://blog.youkuaiyun.com/AmStrong_/article/details/79077482</guid><author>AmStrong_</author><pubDate>Tue, 16 Jan 2018 17:45:04 +0800</pubDate><description><![CDATA[前言

用TextView显示Html图文，每一个需求都是需要探索的，不再是简单的添加点击事件就可以了。



1、如何添加点击事件

这里要使用上在Html.forHtml()方法中的第四个参数：Html.TagHandler。顾名思义就是标签处理的类。



charSequence = Html.fromHtml(article.getContent(), Html.FROM_HTML_MO...]]></description><category></category></item><item><title><![CDATA[Android TextView加载HTMl图文时，图片溢出界面问题解决]]></title><link>https://blog.youkuaiyun.com/AmStrong_/article/details/79076856</link><guid>https://blog.youkuaiyun.com/AmStrong_/article/details/79076856</guid><author>AmStrong_</author><pubDate>Tue, 16 Jan 2018 16:58:19 +0800</pubDate><description><![CDATA[一、问题

在之前一篇博文中介绍了利用TextView加载Html图文，使用的时ImageGetter来加载图片，但是并没有处理图片过大的情况。解决思路是将Bitmap进行尺寸压缩，另外还要注意修改了图片大小会出现图文重叠的问题。



二、解决过程

具体思路就是先获取TextView的宽度width，然后计算出width与 resource.getWidth()的比例。



 float s]]></description><category></category></item><item><title><![CDATA[Android TextView加载HTMl图文之让图片居中显示]]></title><link>https://blog.youkuaiyun.com/AmStrong_/article/details/79076823</link><guid>https://blog.youkuaiyun.com/AmStrong_/article/details/79076823</guid><author>AmStrong_</author><pubDate>Tue, 16 Jan 2018 16:56:22 +0800</pubDate><description><![CDATA[上一篇博文解决了图片溢出的问题，现在又发现当图片小于TextView宽度的时候是靠左的，并没有居中显示。这个问题困扰了好久，在网上也搜索不到这种需求的信息。



探索

TextView 显示Html内容的时候，图片加载是在ImageGetter中的。getDrawable方法中是获取drawable对象 还没绘制上去，所以肯定无法在这里调整位置。那么就得去寻找绘制的方法：BitmapDrawa]]></description><category></category></item><item><title><![CDATA[Android 对集合对象排序（快排与实现接口排序）]]></title><link>https://blog.youkuaiyun.com/AmStrong_/article/details/79041955</link><guid>https://blog.youkuaiyun.com/AmStrong_/article/details/79041955</guid><author>AmStrong_</author><pubDate>Fri, 12 Jan 2018 11:15:52 +0800</pubDate><description><![CDATA[对数组排序有很多方法，但是对集合排序一般都以自定义排序的为多，其实利用Collection的sort也是可以实现的。一、 Collections.sort(list,comparator)举个例子： 
一个实体类User，这里用age属性大小来排序，return的结果>0是大于，<0就是小于。另外这里是降序，要升序就看将两个参数对调即可。class RankComparator extends Co]]></description><category></category></item><item><title><![CDATA[Android 实现本地更新并在更新完成后打开]]></title><link>https://blog.youkuaiyun.com/AmStrong_/article/details/79034163</link><guid>https://blog.youkuaiyun.com/AmStrong_/article/details/79034163</guid><author>AmStrong_</author><pubDate>Thu, 11 Jan 2018 14:49:25 +0800</pubDate><description><![CDATA[一、 简介现在的android应用app会隔一段时间发布一个新的版本，当你打开某个app，如果有最新的版本，会提醒你是否下载更新。本文利用android自带的下载管理器DownloadManager进行下载最新版本的apk，下载完成后自动跳转安装。二、实现1 Code比较首先你需要去向服务器获取当前最新的版本的VersionCode，与本地的Code比较。通 
本地的获取方法如下：PackageMa]]></description><category></category></item><item><title><![CDATA[Android 搭建好用的MVP框架（Retrofit+Rxjava2+ButterKnife）]]></title><link>https://blog.youkuaiyun.com/AmStrong_/article/details/78934297</link><guid>https://blog.youkuaiyun.com/AmStrong_/article/details/78934297</guid><author>AmStrong_</author><pubDate>Fri, 29 Dec 2017 18:57:17 +0800</pubDate><description><![CDATA[前言最近在新项目中看了很多MVP框架，然后自己搭建了MVP框架，所以在这里总结一下，拿出来希望大家能相互学习一下。一、基本架构MVP的构成简单介绍一下，全称：Model-View-Presenter；它是从经典的模式MVC演变而来，它们的基本思想有相通的地方： 
Controller/Presenter负责逻辑的处理 
Model提供数据 
View负责显示首先把目录让大家看一下。有一个基本的了解。]]></description><category></category></item><item><title><![CDATA[Android 使用自定义注解代替重复写findViewById代码]]></title><link>https://blog.youkuaiyun.com/AmStrong_/article/details/78914963</link><guid>https://blog.youkuaiyun.com/AmStrong_/article/details/78914963</guid><author>AmStrong_</author><pubDate>Wed, 27 Dec 2017 18:02:24 +0800</pubDate><description><![CDATA[效果每次新建页面控件的findViewById是每个android开发者的痛苦。在这方面已经有很多第三方框架帮我们解放了双手，这次就是利用注解来解决findViewById。public class ObserverActivity extends AppCompatActivity{
    @ViewInject(R.id.activity_btn)
    Button button;]]></description><category></category></item><item><title><![CDATA[Android 沉浸式状态栏-字体颜色与背景颜色修改实现与兼容]]></title><link>https://blog.youkuaiyun.com/AmStrong_/article/details/78864613</link><guid>https://blog.youkuaiyun.com/AmStrong_/article/details/78864613</guid><author>AmStrong_</author><pubDate>Thu, 21 Dec 2017 15:49:10 +0800</pubDate><description><![CDATA[沉浸式状态栏究其根本就是将布局内容延伸到状态栏中，让状态栏覆盖在布局上或者隐藏。



实现

首先，要修改状态栏android版本至少要在4.4以上，并且在4.4是不能让状态栏透明的，只能达到一种半透明的阴影背景，而在5.x的版本中，是可以修改背景颜色但无法修改字体颜色的，只有在6.0以上是可以随意修改的。但是在魅族和小米第三方ROM在4.4版本以上的手机都提供了修改的接口。所以具体的修改代码如]]></description><category></category></item><item><title><![CDATA[12月——细节知识累积]]></title><link>https://blog.youkuaiyun.com/AmStrong_/article/details/78791187</link><guid>https://blog.youkuaiyun.com/AmStrong_/article/details/78791187</guid><author>AmStrong_</author><pubDate>Wed, 13 Dec 2017 14:00:07 +0800</pubDate><description><![CDATA[一、前言在敲代码的过程中总有一些点是会常用到但是想不起来怎么写，现在在博客中纪录一下，加深一下自己的印象，不再每次都去查找。二、获取资源中的颜色statusBarView.setBackgroundColor(ContextCompat.getColor(context, R.color.status)); 
ContextCompat可以获取资源的各种东西。三、ImageView的ScaleTyp]]></description><category></category></item><item><title><![CDATA[Android TextView图文混编之Html.formHtml()]]></title><link>https://blog.youkuaiyun.com/AmStrong_/article/details/78744072</link><guid>https://blog.youkuaiyun.com/AmStrong_/article/details/78744072</guid><author>AmStrong_</author><pubDate>Thu, 07 Dec 2017 17:49:12 +0800</pubDate><description><![CDATA[前言

在TextView中要显示HTML文字是比较轻松的事，但是在其中混上图片就变的复杂了起来。本文使用Glide作为图片加载工具。



上手



一.首先看看需要什么对象



public void onSuccess(String string) {
        CharSequence charSequence;
        // 这个是自定义的ImageGetter]]></description><category></category></item><item><title><![CDATA[Android 在Coding中防止内存泄漏——LeakCanary]]></title><link>https://blog.youkuaiyun.com/AmStrong_/article/details/78687929</link><guid>https://blog.youkuaiyun.com/AmStrong_/article/details/78687929</guid><author>AmStrong_</author><pubDate>Fri, 01 Dec 2017 16:19:18 +0800</pubDate><description><![CDATA[前言Android开发中内存泄漏的问题一直是比较头疼的问题，因为它发生了也很难被发现，在我们不知情的情况下也就没办法去修复这个问题。 
LeakCanary的开源给我们一个简便的解决方案。一、初始化1.配置依赖：    debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3.1'
    releaseCompile 'com.squ]]></description><category></category></item></channel></rss>