自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

AndroidMsky的博客

京东商城 安卓开发者,酷爱安卓追求开源。

  • 博客(46)
  • 资源 (3)
  • 收藏
  • 关注

原创 RecyclerView中倒计时item的优雅方案

本文介绍在RecyclerView中使用倒计时楼层,并且每秒刷新显示倒计时。没有纠结于样式,主要介绍代码结构和设计模式。先看一下效果:我们采取的是观察者模式的方法,启动一个handler,每隔一秒去刷新所有注册过的item楼层。观察者模式的大概关系如下图:我们并没有使用JAVA中的Observable,因为在释放Holder的时机比较难处理存在内存泄露的风险,所以我们采用WeakHas...

2019-03-14 17:29:21 5040 1

原创 安卓仿知乎个人主页,实现嵌套滑动和渐隐效果

本文github: https://github.com/AndroidMsky/linkScrollMsky先看知乎的效果:再看我们实现的效果:网上也有很多嵌套滑动的例子,先说说我这个的优点。 1.头部可以参与滑动 2.下面可以加viewpager 3.支持RecyclerView和ScrollView 4.基于Behavior可以获取事实滚动距离可做更多联动 5.不必重写过多的滑动事

2016-12-21 15:01:42 15058 10

原创 安卓自定义View文章数据滚动显示数值

本文已经在微信公众号【Android群英传】独家发表。未经允许不得转载。 转载请注明作者AndroidMsky及原文链接 http://blog.csdn.net/androidmsky/article/details/53009886 本文Github代码链接 https://github.com/AndroidMsky/RandomTextView2016年11-30号,一位热心同学

2016-11-02 17:23:21 11966 21

原创 RecycledViewPool的使用和堆内存分析

RecycledViewPool在ViewPager+RecyclerView的场景下可以大放光彩。下面就来验证一下它的优点:首先我们自定定义一个View放在ViewHolder中:public class FloorView extends ImageView {//这里如果数组大于0可以放大FloorView的内存占用。 private Bitmap[] bitmaps=n...

2019-03-12 19:20:59 1655

原创 JAVA中String的底层解析

JAVA中String 是Final类不能被继承。JAVA 对String的处理和一般Class有所不同。这文章主要是解释一下String的存储模式和java的字符串常量池的复用机制。首先提出几个问题:1.String的内容为什么是不可更改的?2.JAVA中“adc”这种创建的字符串的创建过程是怎样的?3.String(String string)的构造方法是如何工作的?4.一个线程中...

2019-03-07 17:47:58 4627 1

原创 补间动画和属性动画内存泄露分析

在使用属性动画的时候,我们知道如果不在页面结束的时候释放掉动画,就会引起内存泄露。简单的说就是ValueAnimator在AnimationHandler注册自己的AnimationFrameCallback,AnimationFrameCallback接口的实现类就是ValueAnimator自己,ValueAnimator又持有view对象,view有持有activity对象,这样activ...

2018-10-19 17:36:25 3588 1

原创 Android的TextView划线样式中断的解决方案

我们在使用TextView经常在使用划线样式,我们只需要给textView的画笔设置一个FLAG就可以了。textView.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);但是有的时候我们需要一个textview展示不同大小的文字,比如这样: SpannableString priceStyle = new Spannable...

2018-06-28 18:20:14 583 1

原创 通过TabLayout自定义tab实现图文混搭导航栏

通过TabLayout自定义tab实现图文混搭导航栏

2017-11-29 16:30:51 2764

原创 关于安卓View的setEnabled和setClickable的思考

我们讲结合setOnClickListener和setOnTouchListener以及setEnabled和setClickable的相互影响。以及View遮盖是否能穿透事件进行分析阐述。首先我们搞一个布局:<?xml version="1.0" encoding="utf-8"?><com.example.airy.click.R1 android:id="@+id/r1" x

2017-09-23 18:05:54 6617 4

原创 关于android UI适配的一些思考

作为前端工程师,界面效果,效率。肯定是第一要务。面对安卓庞大的机型和屏幕对开发者的要求也就越来越高了。今天笔者就自己对UI适配的一些经验进行一个简短的总结。

2017-09-20 19:08:25 1607 1

原创 从ADIL跨进程绑定通讯再探Service知识

如何在Activity中绑定独立进程的Service

2017-06-27 15:49:24 835

原创 AS插件开发之Excel转JavaBean字段

..展示效果如上图所示。我们就简单说一下AS或者是说IDEA的插件开发。我们可能都用过一些AS的插件,我比较喜欢也执迷其中的就是一些自动生成代码的插件,解放双手的感觉让人欲罢不能。1.环境搭建略过,也就IEDA这个软件 2.我们使用IEDA新建一个插件项目:3.新建一个继承自AnAction的类,并重写 public void actionPerformed(A

2017-06-12 09:37:02 1577

原创 Gradle技巧(一)之生产测自动切换包名主机地址等

Gradle相信大家并不陌生,这货虽然有时候很卡,有时候让人难以琢磨,但是不可否认它确实给Android的开发带来了无数的便利。如果你需要实现以下需求,那么看这个文章就可以解决了。一.大家都知道我们开发可能有开发环境,测试环境,和生成环境等,我们如何在测试服务器和生产服务器自由切换而不修改代码。 二.给予测试和生产两个APP不同的包名 三.给予测试和生产两个APP不同的应用名等。首先来说一.其实

2017-05-10 11:43:00 2243

原创 一行代码实现EditText数字输入逗号和位数限制

我们可能面临这样的需求EditText输入限制n位整数,n位小数。有些产品提出了整数要根据三个数来加逗号。笔者也是找了半天没有找到太好的工具类,于是自己封装了一个。实现功能: 1.3位自动加逗号 2.自定义限制输入位数 3.支持在串的任意位置增加,修改,删除。 4.对空和有内容进行回调封装 5.对输入结束后进行回调封装使用方法://10位整数两位小数

2017-04-18 11:50:52 3840 5

原创 Android周选择日历的实现

一款周选择日历的实现。效果如GIF图:由于颜色相近GIF录制吧我选择的背景快和谐掉了,其实选中的周有圆角个背景块的。代码链接在下面喜欢可以点个star好久没更文了也对大家表示歉意,最近公司人员变动,事情像山一样压过来,也怪自己心态问题,所以一直没有抽出空写出干货。日期选择日历,月选择日历,开源的比较多也比较常见,但是周选择日历,我前几天是没找到符合要求的。所有自己操刀砍出一个轮子来。使用已经加入ji

2017-04-12 11:38:54 6369

翻译 【译】butterknife中文官方使用文档

英文原文链接: http://jakewharton.github.io/butterknife/ 中文译文链接:介绍使用@BindView这个注释和一个view的ID来自动的匹配到布局中的view。class ExampleActivity extends Activity { @BindView(R.id.title) TextView title; @BindView(R.id.s

2017-02-21 14:53:30 2592 1

原创 热更新AndFix之初体验

转载请注明作者AndroidMsky和出处:http://blog.csdn.net/AndroidMsky/article/details/54377806前两天刚刚写了一篇Tinker的集成http://blog.csdn.net/androidmsky/article/details/54135465今天给大家带来AndFix的集成初体验。还是这张图,先说说我的初体验吧。首先AndFix的支持

2017-01-12 14:40:03 3581 4

原创 从h5调起原生APP到自己调起知乎页面

效果:这篇算兴趣加技术篇,和之前的抢红包博文和接起QQ电话博文一样都是往其他APP里面搞事情!!!代码传送门:https://github.com/AndroidMsky/htlmStartApp我们知道比如知乎,大众点评等一些h5的网页是可以直接调起原声应用的,有一些亲儿子可以在微信的内置浏览器中直接搞出来。下面介绍一下最最最基础的调用方法吧。在activity的静态声明中:<activity a

2017-01-10 18:14:30 14322 1

原创 热更新Tinker的初次集成使用

如果热更新越来越火,各大厂也陆续开源自己的热更新框架,先哪几个看一眼优缺点:个人觉得Tinker的第一个优势就是支持类替换,lib替换,资源替换,也就是说,如果在高成功率的支持下,可以理解为这套东西用于功能升级没有压力。第二个优势就是轻量,补丁包小,升级速度快性能高。Tinker采用算法产生差异包打补丁的方法,升级的补丁包确实非常小。用于项目中想搞一些小功能的升级和bug的在线修复,在加上tinke

2017-01-06 10:56:10 6078 23

原创 2016我的博客和工作总结

2016马上就过去了,即将迎来2017。2016也是我接触安卓开发的第四年,也可以称作进步最快的一年,2016我学习了很多新技术,也看了很多大佬的博客,自己也着手建立起了自己博客,其中不乏一些炫酷的效果,一些基础框架的使用搭建,和一些十分基础的文章写作。我一直都认为,不是难的文章就好,不是简单的文章就不值得。每个人都是从小白的路上一点点走出来,还记得近两年前,我用一台索尼i3笔记本跑Android

2016-12-30 10:48:13 2425 6

原创 几张GIF看ConstraintLayout的特新

一张gif看看他有多屌ConstraintLayout屌不屌,我的觉得他真的很屌。下面介绍下ConstraintLayout的几个屌点:1:更加灵活的改变大小改变约束条件: 2:基线对齐6不6:再也不要因为字体大小问题对不准基线了 3:左右或上下共同约束直接取到左右或上下的中间是任意两个东西哦,不仅仅是relativelayout的centerinParent。 4:你觉得3还不够

2016-12-16 10:35:55 8031 4

原创 入冬最冷的上海——致在外漂泊的孩子

今天好像是上海入冬以来最冷的一天,上海再冷其实也没有我的家乡黑龙江冷,可是今天真的觉得非常冷。来上海一年多了,这座城市真的很大,很美。它确实比小城市的机会多,比小城市的公平多,昨天买了4箱啤酒,快递员先拿一箱啤酒依着楼道大门,然后拿进来三箱,然后把四箱都拿进来,这时我正好下楼,知道是我买的啤酒,主动帮快递员搬了两箱上了五楼,无论是程序员还是快递员都不容易,都是在这魔一样的都市奋斗着。小的时候家里的冬

2016-12-15 09:56:53 1459 7

原创 SwipeRefreshLayout安卓最普通的下拉刷新

这就是这个系统的效果: 记得好似是半年前或者是更久,我看到了一个下拉刷新的博文,感觉这个小圆圈的加载效果很棒,于是去看看是如何实现的是shape还是图片,还是自定view自己画的啊。结果找了半天未果。后来有一段时间才搞清楚,原来是系统自带的SwipeRefreshLayout在5.0新的显示效果。哦哦,让我夸(黑)一发,安卓也有系统控件直接拿出来就很不错的了。MD设计万岁。算了不扯了,接下来介

2016-12-13 11:00:33 2699

原创 安卓自定义View在bitmap中玩转大波浪进度

迫不及待拿出了效果图: 可切换波澜4种状态:https://github.com/AndroidMsky/BitmapWaveView觉得不错顺手给个star谢谢大兄弟们了使用方法:考入BitmapWave还是一个200行的小鬼:BitmapWave.java两个自定义属性:<declare-styleable name="bitmapWave"> <attr name="back

2016-12-08 16:37:05 4490

原创 安卓微信自动抢红包插件优化和实现

转载请注明作者AndroidMSky和链接http://blog.csdn.net/AndroidMsky/article/details/53490459又是兴趣系列 网上有很多自动强红包的例子和代码,笔者也是做了一些优化。 先说说自己的两个个优势 1.可以在聊天界面自动强不依赖于通知栏推送 2.可以在屏幕熄灭的时候的时候点亮屏幕自动抢(目前只测过flyme) 先上图:代码传送门:

2016-12-07 10:04:05 64179 45

原创 从APP升级更新浅谈安卓Service知识

博主原创转载请注明作者MskyAndroid出处https://github.com/AndroidMsky/UpdateAppGITHUB链接: https://github.com/AndroidMsky/UpdateApp本文将简述一个APP升级功能,通过前台service实时下载一个APK然后跳入安装界面.首先回顾一下Service的知识点,service可翻译为服务,你可以暂时把它理

2016-11-30 14:45:45 3582

原创 Android基于RecyclerView实现高亮搜索列表

这篇应该是RecycleView的第四篇了,RecycleView真是新生代的宠儿能做这么多的事情。转载请注明作者AndroidMsky及原文链接 http://blog.csdn.net/androidmsky/article/details/53115818 本文Github:欢迎star https://github.com/AndroidMsky/SearchView话不多说先看今天的

2016-11-23 16:06:22 10342 14

原创 AndroidIOS风格底部选择器(支持时间,日期,自定义)

上周项目比较忙,所以没更今天给大家带来一组选择器的福利。本文Github代码链接 https://github.com/AndroidMsky/AndoirdIOSPicker 先上图吧:这是笔者最近一个项目一直再用的一个选择器库,自己也在其中做了修改,并决定持续维护下去。先看使用方法:日期选择:private void showDateDialog(List<Integer> date) {

2016-11-23 11:44:49 13421 12

原创 揭秘之从RecyclerView滑动监听到Gilde平滑加载图片

本文应该是RecyclerView的第三篇,今天来讲讲如何让RecyclerView优先加载可见item,如何在RecyclerView滑动中停止图片的加载保证页面流畅。

2016-11-10 15:00:05 10848 2

原创 超轻量!安卓实现多item抽屉效果动画

先看效果:本文Github https://github.com/AndroidMsky/ElasticLayout先解释一下标题不然被说成标题党可不好,为什么是超轻量,因为我知道用Listview和RecyclerView可以实现这样的效果,但是大家都知这二者都是需要adapter去适配数据,用起来比较麻烦,而且二者默认都是可以滑动的。那么,当你遇到如下需求,关键人信息中,关键人数量是动态的,但

2016-11-08 16:22:39 7141 4

原创 两步实现安卓手机秒变网络摄像头

今天大概是兴趣加技术篇,程序员不写点有趣的代码,怕是很难在女票和家人面前秀出科技感。 GITHUB: https://github.com/AndroidMsky/RootPlay

2016-11-07 15:06:18 35984 5

原创 安卓下Builder模式解析+自定义Dialog实战演练

**本文将从一下几个方面展开: 1Bulider模式的原理和使用 2系统Dailog的调用 3自定义Dailog 4自定义Dailog的一些小坑**本文Github代码链接 https://github.com/AndroidMsky/AirDialog自定义Dailog效果: 1Bulider模式的原理和使用当你看到这样的一串代码是不是觉得很炫酷? airDialog = new A

2016-10-31 15:30:34 6396

原创 自定义View之GradualView文字渐变-颜色渐变-图像渐变

话不多说上个动图解释框架的内容:项目地址: https://github.com/AndroidMsky/GradualView记得在笔者X菱电梯的时候,有个需求,大概就是电梯开门,让一个白色的文字渐渐的变成蓝色并且展开,大概的意思就电梯到了几楼的意思。当时很苦恼,蓝色——》白色中间要经历怎样的沧桑变化呢?后来跟我们当时的美工MM沟通了一下,她说比如白色还有50%就变成蓝色了,她在PS中先用白色遮

2016-10-28 11:17:26 5625 2

原创 刷新加载RecyclerView+图片加载Glide+多样式布局(二)

今天准时给大家更新啦,RecyclerView的第二篇,加入图片加载框架Glide和多样式布局。 第一篇关于RecyclerView还不了解请阅读: http://blog.csdn.net/androidmsky/article/details/52922348 本文Github链接如下: https://github.com/AndroidMsky/AirRecyclerViewGlid

2016-10-27 11:36:29 7487 2

原创 RecyclerView支持下拉刷新上划加载,多种布局样式。RV集成框架使用(一)

还在使用古老的Listview吗? 还在继承那个复杂的BaseAdapter吗? 还在给listview ADDHead,ADDfoot吗? 今天不用啦,我们只需使用SuperRefreshRecyclerView。 一切都只是一行代码的事情。[项目GITHUB链接](https://github.com/AndroidMsky/OOMTestUseAirRecyclerView)

2016-10-25 15:29:33 9302 2

原创 打造企业级网络请求框架集合retrofit+gson+mvp(一、二)

本文是企业级网络框架主要讲MVP模式和Gson在Retrofit网络请求框架下的使用方式。

2016-10-21 14:50:42 7249 3

原创 打造企业级网络请求框架集合retrofit+gson+mvp(一)

打造企业级网络请求框架集合retrofit+gson+mvp(一)本系列文章讲分为三篇发送,分别讲项目继承Retrofit请求框架,Gson解析框架,MVP设计模式。帮助你一步一步打造出企业级网络APP架构。

2016-10-20 11:32:17 2590 2

原创 解决JS和安卓互调targetSdkVersion>=17原生代码无反应

解决JS和安卓互调targetSdkVersion>=17原生代码无反应

2016-08-23 16:46:59 2255

原创 梦之鬼索MVP模式在Android中的设计和实现

想必大家都知道MVC和MVP,MVVM。今天就来探讨一下MVP在安卓中的设计和实现。首先谈一个需求。你的boss说,小明去给我写一个程序很简单我提供Person ID 你给我拿出Person的姓名和性别之类的信息。小明忙问boss“老大这个ID和Person是如何关联的是从服务器接口取还是从本地数据库取还是有什么其他规则?”boss说哦等我接个电话,像是老婆打来的。小明呆呆的等着boss接

2016-08-19 11:02:56 3456

原创 自定义安卓波浪进度条展示

千呼万唤始出来,先上GIF看效果啦。这边网络问题MarkDown进不去所以老的编辑模式大家凑合着看,博主顶着4G在更新博客希望大家支持。加入有一天你们boss说,诶小明(一个程序猿)啊,今天我们这个文件下载要用一个新的进度条,美工已经设计好了,美工是在大海边长大的,所以设计了一个像海浪一样的进度条,那么小明你应该如何实现它呢。想想原生控件,肯定是

2016-08-03 15:07:25 5326

安卓Android多阶段进度条progress bar附带动画效果

还在为美工设计出的进度条而发愁吗,安卓Android多阶段进度条progress bar附带动画效果。效果炫起来。

2015-12-09

安卓BadgeView气泡飞出进入动画,跟随手指移动

安卓BadgeView气泡飞出进入动画,跟随手指移动.松开手后自动飞出屏幕。BadgeView可自定义。动画可以自定义。BadgeView

2015-11-17

安卓高级xml输入框EditText及其登陆界面布局shape使用

安卓高级xml输入框。时尚简洁的输入框,布局的嵌套。EditText的监听和清空。动态显示隐藏清空按钮

2015-11-16

空空如也

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

TA关注的人

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