自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Rxjava操作符源码分析

Rxjava操作符源码分析

2017-05-17 11:40:41 2092

原创 ARouter源码分析初始化以及跳转

ARouter源码分析初始化以及跳转

2017-05-12 17:35:33 5606

原创 通过FrameLayout分析onMeasure

通过FrameLayout分析onMeasure

2017-05-06 17:23:13 1279 1

原创 分析View的第一次绘制是在哪里完成的

分析View的第一次绘制是在哪里完成的

2017-05-04 14:18:50 666

原创 源码分析Rxjava2是如何完成链式调用的

源码分析Rxjava2是如何完成链式调用的

2017-04-09 18:42:27 3357

原创 集成Tinker后的坑 , noclassdeffounderror异常

在集成Tinker时遇到的坑: 在build.gradle当中为了方便在一般测试时方便给 apply from: 'tinker.gradle'这句代码加了判断 , 不走这行代码, 但Application的改造是按照Tinker集成的, 结果发现在Android5.0以下手机中运行发现在ApplicationLike类当中报noclassdeffounderror异常

2017-02-16 09:28:03 1719

原创 Acitivty嵌套Fragment时 调用recreate的坑

Activity  -->(继承)  BaseActivityFragment -->)(继承) BaseFragmentActivity中嵌套Fragment当点击Fragment中的按钮调用 getActivity().recreate(); 方法时他们的OnCreate调用顺序如下:BaseFragment: onCreate: OutFragment04: on

2016-12-15 11:17:01 1485

原创 rxjava实现相关逻辑

Observable.just(new Person(5)) .map(new Func1() { @Override public Integer call(Person s) { Log.i("TAG", "map"+Thread.cu

2016-11-17 09:27:48 535

转载 Android CountDownTimer倒计时器的使用

在平时我们编程的时候,经常会用到倒计时这个功能,很多人不知道Android已经帮封装好了一个类,往往都自己写。现在发现了这个类,大家共享一下:在一个TextView不断显示剩下的时间,代码如下:private TextView vertifyView;    private CountDownTimer timer = new CountDownTimer(10000, 1

2016-11-15 11:53:46 637

原创 Day0823_将音乐库中的音乐在Service中异步加载, 播放音乐并设置到通知栏

MyService类package com.kangdi.day0823_service_hunhe;import android.app.Notification;import android.app.NotificationManager;import android.app.PendingIntent;import android.app.Service;import and

2016-08-23 20:46:01 509 1

原创 图解onInterceptTouchEvent , onTouchEvent及onTouch区别

onInterceptTouchEvent : intercept 词意为拦截, 此事件只有ViewGroup才有(例如LinearLayout),是从父布局开始一步步传到子布局 , 直到拦截(也就是返回值为true)或者传到没有此事件的view(例如TextView); 返回值为false 则继续传,返回值为true , 则执行该控件中的onTouchEvent 或 onTouch方法.

2016-08-14 01:32:42 4399 3

转载 android获得屏幕高度和宽度四种方法

方法一: WindowManager wm = (WindowManager) this .getSystemService(Context.WINDOW_SERVICE); int width = wm.getDefaultDisplay().getWidth(); int height = wm.getDefaultDisplay().getHeight();

2016-08-12 20:21:30 942 1

转载 利用getLayoutParams()方法和setLayoutParams()方法

利用getLayoutParams()方法 和 setLayoutParams()方法 重新 设置 控件的 布局,1、首先利用getLayoutParams()方法,获取控件的LayoutParams。     eg:LayoutParamslaParams=(LayoutParams)imageView.getLayoutParams();2、设置该控件的layoutPa

2016-08-12 20:14:29 1056

转载 Android Canvas绘图详解(图文)

大部分2D使用的api都在android.graphics和android.graphics.drawable包中。他们提供了图形处理相关的: Canvas、ColorFilter、Point(点)和RetcF(矩形)等,还有一些动画相关的:AnimationDrawable、 BitmapDrawable和TransitionDrawable等。以图形处理来说,我们最常用到的就是在一个View上

2016-08-10 11:53:21 683 1

转载 对android中ActionBar中setDisplayHomeAsUpEnabled和setHomeButtonEnabled和setDisplayShowHomeEnabled方法的理解

setHomeButtonEnabled这个小于4.0版本的默认值为true的。但是在4.0及其以上是false,该方法的作用:决定左上角的图标是否可以点击。没有向左的小图标。 true 图标可以点击  false 不可以点击。actionBar.setDisplayHomeAsUpEnabled(true)    // 给左上角图标的左边加上一个返回的图标 。对应Action

2016-08-08 19:11:59 318

转载 android绘图Paint.setAntiAlias()和Paint.setDither()方法的作用

在自定义View中,这两个Paint.setAntiAlias()和Paint.setDither()方法用的很多,都只有一个boolean值,作用大家未必清楚,今天抽了点时间研究下,终于搞清楚了,希望给大家点帮助!Paint.setAntiAlias()该方法作用是抗锯齿,什么意思呢,我们看下效果图,就知道了  左边是没有这只抗锯齿的,右边是设置了抗锯齿的,边界明显变模糊

2016-08-07 16:34:12 391

转载 Android文本的测量和绘制

翻译与 Chris Banes的博客     原文地址如果你想手动在Android Canvas上画些什么东西,你最好从绘制文本开始。文本绘制之前,你需要知道测量文本的绘制位置,计算文本X/Y轴的位置。                                                                                       

2016-08-07 15:40:32 347

转载 对android中ActionBar中setDisplayHomeAsUpEnabled和setHomeButtonEnabled和setDisplayShowHomeEnabled方法的理解

setHomeButtonEnabled这个小于4.0版本的默认值为true的。但是在4.0及其以上是false,该方法的作用:决定左上角的图标是否可以点击。没有向左的小图标。 true 图标可以点击 false 不可以点击。actionBar.setDisplayHomeAsUpEnabled(true) // 给左上角图标的左边加上一个返回的图标 。对应ActionBar.DI

2016-08-06 22:24:08 688

转载 ViewStub

在开发应用程序的时候,经常会遇到这样的情况,会在运行时动态根据条件来决定显示哪个View或某个布局。那么最通常的想法就是把可能用到的View都写在上面,先把它们的可见性都设为View.GONE,然后在代码中动态的更改它的可见性。这样的做法的优点是逻辑简单而且控制起来比较灵活。但是它的缺点就是,耗费资源。虽然把View的初始可见View.GONE但是在Inflate布局的时候View仍然会被Infl

2016-08-01 00:05:51 282

转载 适配器的当中getView方法调用

View在Draw的时候分成两个阶段:measure和layout,在measure阶段时主要就是为了计算两个参数:height和width。而且要注意的是,这是个递归的过程,从顶向下,DecorView开始依次调用自己子元素的measure。计算完成这两个参数后就开始layout,最后再是draw的调用。对于ListView,当然每一个Item都会被调用measure方法,而在这个过程中

2016-07-31 12:37:34 543

转载 Android解惑 - 为什么要用Fragment.setArguments(Bundle bundle)来传递参数

Fragment在Android3.0开始提供,并且在兼容包中也提供了Fragment特性的支持。Fragment的推出让我们编写和管理用户界面更快捷更方便了。但当我们实例化自定义Fragment时,为什么官方推荐Fragment.setArguments(Bundle bundle)这种方式来传递参数,而不推荐通过构造方法直接来传递参数呢? 为了弄清这个问题,我们可以做一个测试,分别

2016-07-30 14:35:24 306

空空如也

空空如也

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

TA关注的人

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