自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mr_LiaBill

兴趣永远是最好的导师.......

  • 博客(13)
  • 问答 (1)
  • 收藏
  • 关注

原创 Android View视图层次

参考:1.Android应用setContentView与LayoutInflater加载解析机制源码分析 之前一直不明白为什么android的view层次是这么个布局,现在终于有所了解了。。其实上图还有点问题,其实在DecorWindow中还有一个id为statusBarBackgroud和一个id为navigationBarBackground的View,分别表示手机的

2015-10-31 18:22:40 10810

原创 Android 补间动画原理

这段时间项目中用到了动画,所以趁热打铁,看看动画原理补间动画使用举例TranslateAnimation translateAnim = new TranslateAnimation(0, 100, 0, 100); translateAnim.setDuration(1000); translateAnim.setFillAfter(true);

2015-10-30 13:53:16 4707 2

原创 Android 自定义View

代码对《Android 手把手教您自定义ViewGroup》  中的例子做了优化,让它支持margin,同时增加了自身的绘制过程。    package lbb.mytest.demo;import android.content.Context;import android.graphics.Canvas;import android.graphics.Paint;

2015-10-28 19:07:14 695

原创 Android 定时操作方法AlarmManager,Timer,Handler

AlarmManagerTimer有一个明显的短板,它并不太适用于那些需要长期在后台运行的定时任务。我们都知道,为了能让电池更加耐用,每种手机都会有自己的休眠策略,Android 手机就会在长时间不操作的情况下自动让 CPU 进入到睡眠状态,这就有可能导致 Timer 中的定时任务无法正常运行。而 Alarm 机制则不存在这种情况,它具有唤醒 CPU 的功能,即可以保证每次需要执行定时任务的时

2015-10-27 17:33:23 3450

转载 android 进程详解

当一个应用的组件开始运行,并且这个应用没有其它的组件在运行,系统会为这个应用启动一个新的Linux进程,这个进程只有一个线程.默认情况下,一个应用的所有组件都运行在一个进程和线程(主线程)中.如果一个应用的组件开始运行,并且已经存在这个应用的线程了(因为这个应用的另一个组件已经运行了),于是这个组件就会在这个已有的进程中启动并且运行在同一线程中.然而,你完全可以安排不同的组件运行于不同的进程,并且

2015-10-26 20:13:45 612

原创 Android 进程,线程理解

进程首先参考前一篇文章finish方法这是结束当前activity的方法。主动结束一个Activity,这里需要注意finish是销毁掉一个Activity,会调用该activity的onDestroy方法,从任务栈中弹出当前的Activity,激活下一个Activity。如果当前activity是任务栈中的最后一个activity,那么退出应用,但是当前线程仍然还在,没有被结

2015-10-26 20:11:32 709

原创 Android HandlerThread和IntentService用法和源码解析

HandlerThread用法public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setC

2015-10-26 14:11:27 788

原创 Android 动画总结

首先申明只是对以下文章的归纳总结1. Android属性动画完全解析(上),初识属性动画的基本用法2. Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法  3. Android属性动画完全解析(下),Interpolator和ViewPropertyAnimator的用法 属性动画作用为什么需要属性

2015-10-16 11:12:07 976

原创 Android View绘制流程

Measure()调用了onMeasure()方法,这里才是真正去测量并设置View大小的地方当然,一个界面的展示可能会涉及到很多次的measure,因为一个布局中一般都会包含多个子视图,每个视图都需要经历一次measure过程。ViewGroup中定义了一个measureChildren()方法来去测量子视图的大小.这里首先会去遍历当前布局下的所有子视图,然后逐个调用measur

2015-10-14 18:12:05 932

原创 Android 屏幕适配方案

参考Android多屏幕适配学习笔记 http://blog.csdn.net/a220315410/article/details/9139397Android官方提供的支持不同屏幕大小的全部方法  http://blog.csdn.net/guolin_blog/article/details/8830286Android屏幕适配方案  http://blog.csdn.net/l

2015-10-13 18:08:37 1202

原创 Android Scroll原理分析

Scroll滚动原理介绍Android里Scroller类是为了实现View平滑滚动的一个Helper类。通常在自定义的View时使用,在View中定义一个私有成员mScroller = new Scroller(context)。设置mScroller滚动的位置时startScroll,并不会导致View的滚动,通常是用mScroller记录/计算View滚动的位置,再重写Vie

2015-10-10 15:11:17 2049

原创 Android VelocityTracker与GestureDetector使用简介

VelocityTracker使用简介当你需要跟踪触摸屏事件的速度的时候,使用obtain()方法来获得VelocityTracker类的一个实例对象在onTouchEvent回调函数中,使用addMovement(MotionEvent)函数将当前的移动事件传递给VelocityTracker对象使用computeCurrentVelocity (int units)函数来计算当

2015-10-09 14:28:07 2182

原创 Android LayoutInflater原理分析

LayoutInflater使用LayoutInflater layoutInflater = LayoutInflater.from(context);LayoutInflater layoutInflater = mActivity.getLayoutInflater();LayoutInflater layoutInflater = (LayoutInflater) context.

2015-10-08 19:55:52 2416

空空如也

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

TA关注的人

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