- 博客(27)
- 收藏
- 关注
原创 日历控件MaterialCalendarView的自定义样式、每日不同样式(不修改源码)
一、介绍MaterialCalendarView是一个日历控件。GitHub地址作者对它封装的很深,如果你要加入自己的一些东西比较难,他给出的接口感觉太少了,网上一些文章基本都是直接拉源码下来修改的,个人不太喜欢那样做。所以自己阅读源码和框架,在他给出的接口上完成了自定义样式,基本需要改的东西都可以实现了。先上一个效果图。主要分两部分:一个是添加了价格的文本显示。一个是...
2018-09-14 11:25:33
4806
原创 自定义View之地图下方可拖拽列表布局DragUpDownLinearLayout
这个控件是仿制高德地图下面的可拖拽列表栏做的。实现主要就是一个LinearLayout响应用户手势拖拽,有全屏,半屏,和隐藏三个模式。依据拖拽到松手的位置的y坐标占屏幕的百分比来确定对应的模式位置,再利用动画移动到对应的模式位置。 完整的代码我会贴在文末。 一、确定三个模式的位置我这里使用的是铺满contentView,占contentView的1/3,和全部在隐藏在下面只留一个拖拽条...
2018-07-16 16:48:38
1299
原创 自定义View之轮播控件BannerView
一、介绍在项目中使用的自动轮播控件一直是网上别人做的,在出现问题的时候去看代码细节扫雷就非常浪费时间。于是痛定思痛自己造个轮子。 这个控件在app中使用非常频繁,并且原理也不复杂,就是在前后各加一页。相信每一个android开发者都会做这个东西。 功能介绍: 1.无限自动轮播。 2.指示器(下方的小点点) 3.滚动动画时间可调 4.拖拽的时候停止轮播 全部代码和示例代...
2018-04-16 14:53:45
1091
原创 解决NestedScrollView 嵌套 RecyclerView 滑动没有惯性,直接停顿的现象
平时我们滑动的时候都知道ScrollView都是带有惯性滑动效果的。但是在5.0以上系统使用NestedScrollView嵌套RecyleView时,惯性滑动会失效,滑起来会感觉很不顺畅。那怎么解决呢?1.禁止RecyclerView 的滑动 方法很简单,一般我们这么嵌套都是为了让外部NestedScrollView滑动而recyclerView不滑动的,所以我们只要让recyclerVi...
2018-03-15 17:04:04
3520
4
原创 Android 封装自定义无限轮播banner之体验装饰模式
现在基本每个资讯类应用都会使用到banner来无限轮播,现在项目中使用别人封装的ViewPager总会遇到不可预知的问题,修改起来也十分麻烦,于是决定自己封装一个,在使用适配器的时候遇到一个问题,就是虽然是ViewPage的PageAdapter逻辑部分肯定是要留给使用者去写的,但是adapter给他写了之后,我还要在里面扩展上无限轮播的功能,例如getCount()里我要给它加上一个2。所以这里...
2018-03-02 15:11:36
370
原创 Android 反编译Apk
在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然后下过来文件列表如图第一步 调用...
2018-02-08 14:38:40
293
原创 Android 上传头像功能第三方框架Boxing与TakePhoto使用总结
刚做了个人中心的上传头像功能,就来总结一下做的过程。一开始就直接去github上找一个第三方框架接入,省点事,先是听了朋友的推荐去看了一下bilibili开源的一款Boxing的框架,但是使用起来发现不太符合我的需求。最后还是使用TakePhoto这个,使用起来十分好用。一、Boxinghttps://github.com/Bilibili/boxingbilibili也有开源框架啦? 赶忙下来用
2018-02-02 16:34:30
4910
原创 Android Glide加载图片圆角效果与ImageView的ScaleType冲突问题
在imageVIew显示图片的时候一般是使用android:scaleType="centerCrop"来让图片不被变形显示。但是如果现在用Glide来加载图片并给它转化出一个圆角 .transform(new GlideRoundTransform(getContext(), 2))就会发现,在第一次加载图片的时候是有圆角的,但是第二次加载缓存图片的时
2018-01-26 17:12:05
6003
3
原创 Android WebView加载本地统一HTML界面样式文件并填充内容
前言之前加载HTMl图文都是使用TextView,但是现在需要统一三个端的样式,给出了一个HTML文件,我想反正都是HTML格式的,TextView应该也没问题。我就将文本直接填充进去,一运行。。。。发现Html.fromHtml 无法解析部分代码,直接把它们显示了出来。。 我又是一个HTML的小白,于是乎还是掏出了WebView来实现吧!1、HTML样式文件读取首先将文
2018-01-17 17:32:23
5298
原创 Android TextView加载HTMl图文之添加点击事件和查看图片
前言用TextView显示Html图文,每一个需求都是需要探索的,不再是简单的添加点击事件就可以了。1、如何添加点击事件这里要使用上在Html.forHtml()方法中的第四个参数:Html.TagHandler。顾名思义就是标签处理的类。charSequence = Html.fromHtml(article.getContent(), Html.FROM_HTML_MO...
2018-01-16 17:45:04
3428
6
原创 Android TextView加载HTMl图文时,图片溢出界面问题解决
一、问题在之前一篇博文中介绍了利用TextView加载Html图文,使用的时ImageGetter来加载图片,但是并没有处理图片过大的情况。解决思路是将Bitmap进行尺寸压缩,另外还要注意修改了图片大小会出现图文重叠的问题。二、解决过程具体思路就是先获取TextView的宽度width,然后计算出width与 resource.getWidth()的比例。 float s
2018-01-16 16:58:19
720
原创 Android TextView加载HTMl图文之让图片居中显示
上一篇博文解决了图片溢出的问题,现在又发现当图片小于TextView宽度的时候是靠左的,并没有居中显示。这个问题困扰了好久,在网上也搜索不到这种需求的信息。探索TextView 显示Html内容的时候,图片加载是在ImageGetter中的。getDrawable方法中是获取drawable对象 还没绘制上去,所以肯定无法在这里调整位置。那么就得去寻找绘制的方法:BitmapDrawa
2018-01-16 16:56:22
3483
4
原创 Android 对集合对象排序(快排与实现接口排序)
对数组排序有很多方法,但是对集合排序一般都以自定义排序的为多,其实利用Collection的sort也是可以实现的。一、 Collections.sort(list,comparator)举个例子: 一个实体类User,这里用age属性大小来排序,return的结果>0是大于,<0就是小于。另外这里是降序,要升序就看将两个参数对调即可。class RankComparator extends Co
2018-01-12 11:15:52
1298
原创 Android 实现本地更新并在更新完成后打开
一、 简介现在的android应用app会隔一段时间发布一个新的版本,当你打开某个app,如果有最新的版本,会提醒你是否下载更新。本文利用android自带的下载管理器DownloadManager进行下载最新版本的apk,下载完成后自动跳转安装。二、实现1 Code比较首先你需要去向服务器获取当前最新的版本的VersionCode,与本地的Code比较。通 本地的获取方法如下:PackageMa
2018-01-11 14:49:25
2310
原创 Android 搭建好用的MVP框架(Retrofit+Rxjava2+ButterKnife)
前言最近在新项目中看了很多MVP框架,然后自己搭建了MVP框架,所以在这里总结一下,拿出来希望大家能相互学习一下。一、基本架构MVP的构成简单介绍一下,全称:Model-View-Presenter;它是从经典的模式MVC演变而来,它们的基本思想有相通的地方: Controller/Presenter负责逻辑的处理 Model提供数据 View负责显示首先把目录让大家看一下。有一个基本的了解。
2017-12-29 18:57:17
597
原创 Android 使用自定义注解代替重复写findViewById代码
效果每次新建页面控件的findViewById是每个android开发者的痛苦。在这方面已经有很多第三方框架帮我们解放了双手,这次就是利用注解来解决findViewById。public class ObserverActivity extends AppCompatActivity{ @ViewInject(R.id.activity_btn) Button button;
2017-12-27 18:02:24
684
原创 Android 沉浸式状态栏-字体颜色与背景颜色修改实现与兼容
沉浸式状态栏究其根本就是将布局内容延伸到状态栏中,让状态栏覆盖在布局上或者隐藏。实现首先,要修改状态栏android版本至少要在4.4以上,并且在4.4是不能让状态栏透明的,只能达到一种半透明的阴影背景,而在5.x的版本中,是可以修改背景颜色但无法修改字体颜色的,只有在6.0以上是可以随意修改的。但是在魅族和小米第三方ROM在4.4版本以上的手机都提供了修改的接口。所以具体的修改代码如
2017-12-21 15:49:10
6408
原创 12月——细节知识累积
一、前言在敲代码的过程中总有一些点是会常用到但是想不起来怎么写,现在在博客中纪录一下,加深一下自己的印象,不再每次都去查找。二、获取资源中的颜色statusBarView.setBackgroundColor(ContextCompat.getColor(context, R.color.status)); ContextCompat可以获取资源的各种东西。三、ImageView的ScaleTyp
2017-12-13 14:00:07
292
原创 Android TextView图文混编之Html.formHtml()
前言在TextView中要显示HTML文字是比较轻松的事,但是在其中混上图片就变的复杂了起来。本文使用Glide作为图片加载工具。上手一.首先看看需要什么对象public void onSuccess(String string) { CharSequence charSequence; // 这个是自定义的ImageGetter
2017-12-07 17:49:12
1647
原创 Android 在Coding中防止内存泄漏——LeakCanary
前言Android开发中内存泄漏的问题一直是比较头疼的问题,因为它发生了也很难被发现,在我们不知情的情况下也就没办法去修复这个问题。 LeakCanary的开源给我们一个简便的解决方案。一、初始化1.配置依赖: debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3.1' releaseCompile 'com.squ
2017-12-01 16:19:18
327
原创 Android 自定义控件大道(二)绘制一个会动的能力分布图
前言最近在学习自定义控件,正好撸了一个自定义控件来练练手,巩固一下新姿势。 嗯。先贴一下参考的链接 本文参考:(http://blog.csdn.net/fu908323236/article/details/78356344)1、准备工作新建类,继承View,修改构造方法为: public AbilityView(Context context) { this(conte
2017-11-30 18:29:48
708
原创 GreenDao3.2.0简介与基本操作
前言新接手的项目中正缺一款好用的数据库框架,趁着项目准备阶段来遍历了一下目前流行的几个框架GreenDao、Room、Realm、ObjectBox等。经过简单的阅读和对比,本着高(tou)效(lan)的开发原则,毅然选择GreenDao3.0来作为数据库框架。因为它使用起来太方便了!我觉得它已经简便到令人惊叹的地步了。一、优势在官方网站上,GreenDao用了6个词来形容自己的优势:Maximu
2017-11-22 16:38:44
338
原创 Android 自定义控件大道(一) 自定义属性
一、自定义属性首先在values的资源文件夹下创建一个attrs的文件。 属性写上 <declare-styleable name="CustomView"> <attr name="color" format="color"/> </declare-styleable>其中declare-styleable下的name是你的自定义控件的名字,attr标签下的name是你要添
2017-11-15 17:39:50
319
原创 使用Glide加载图片时出现条纹和颜色混乱
一、问题概述在使用Glide加载图片时,出现了条纹断裂和色块混乱的情况。 这是原图:这是通过Glide加载出来的图片:对比可以看出有明显的条纹和颜色的混乱,但是尝试另一个框架Picasso进行加载图片时,图片显示为正常:二、通过对比来解决问题Glide 和 Picasso 都是目前 Android 上最流行的图片加载库。大部分安卓应用开发人员都有使用过这两个库在他们的开发工作中。它们之间的差别主要
2017-11-07 11:11:25
3595
1
原创 ArcGIS For Android 在地图上显示属性图形信息和属性文本信息
前言##本文使用的是10.2.8的版本。需求是要在切片地图上显示出自定义的村镇界线,森林地块的树种信息等信息。##方法一:##第一种就是利用Symbol类中的TextSymbol来显示,使用的是.shp文件。TextSymbol textSymbol = new TextSymbol(textSize, labelTag,Color.parseColor(textColor));textSymbo...
2017-05-25 14:47:04
6431
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人