http://blog.sina.com.cn/s/blog_70ae1d7b0102v7uk.html 先看看performClick()源码:   public boolean performClick() {         sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_CLICKED);           if (mOnClickListener != null) {             playSoundEffect(So…
转自:Android View中getViewTreeObserver().addOnGlobalLayoutListener() 我们知道在oncreate中View.getWidth和View.getHeight无法获得一个view的高度和宽度,这是因为View组件布局要在onResume回调后完成.所以现在需要使用getViewTreeObserver().addOnGlobalLayoutListener()来获得宽度或者高度.这是获得一个view的宽度和高度的方法之一. OnGloba…
Android view中的requestLayout和invalidate方法 requestLayout:当view确定自身已经不再适合现有的区域时,该view本身调用这个方法要求parent view重新调用他的onMeasure onLayout来对重新设置自己位置. 特别的当view的layoutparameter发生改变,并且它的值还没能应用到view上,这时候适合调用这个方法. invalidate:View本身调用迫使view重画…
PS:居然三天没写博客了...今天补上...东西虽多,但是都是一些基础...代码多了一些,有人可能会这样问,粘这么多代码有毛用..其实对于一个Android的初学者来说,一个完整的代码是最容易帮助理解的...我也是在一点一点的去学习...看了许多人的博客,大部分都是粘贴部分代码,说实话,刚接触的时候真的感觉不是很好理解...不知道其他地方如何去实现..只能自己慢慢的去摸索..我写的这东西也不是给大神们去看的...大神一看就能明白怎么回事..因此我是站在初学者的立场上,才贴了这么多的代码...好了…
方法   scrollTo: (内容的左上角)达到某个地点 scrollBy: 根据当前位置,再移动多少 属性:   mScrollX, 以下是文档解释   The offset, in pixels, by which the content of this view is scrolled horizontally.   mScrollY, 以下是文档解释   The offset, in pixels, by which the content of this view is scroll…
这个就好像是 activity 的生命周期一样,如果我们要使用自定义的 view,那么就很有必要了解一下 view 的那些能够被重写的函数的执行顺序.废话不多讲,以常用的5个函数为例子,见下文: package com.example.pulltorefreshtest; import android.content.Context; import android.graphics.Canvas; import android.util.AttributeSet; import android.…
int currentapiVersion = android.os.Build.VERSION.SDK_INT; if (currentapiVersion >= android.os.Build.VERSION_CODES.HONEYCOMB) { recycleview.setMotionEventSplittingEnabled(false); }…
Canvas 作为绘制文本时,使用FontMetrics对象,计算位置的坐标.   public static class FontMetrics {               public float   top;               public float   ascent;               public float   descent;               public float   bottom;               public float  …
请尊重分享成果,转载请注明出处: http://blog.csdn.net/hejjunlin/article/details/52298780 上篇分析了View的事件分发流程,留了一个问题:如果上面的EventButton继承TextView的话,按下抬起,会有一个现象,我可以告诉大家现象:就是只有dispatchTouchEvent ACTION_DOWN,onTouch ACTION_DOWN,onTouchEvent ACTION_DOWN这三个,你移动,或者抬起,是没有MOVE,或者…
博客首页:http://www.cnblogs.com/kezhuang/p/ View绘制的三部曲,测量,布局,绘画现在我们分析布局部分测量部分在上篇文章中已经分析过了.不了解的可以去我的博客里找一下 View的布局和测量一样,都是从ViewRootImpl中发起,ViewRootImpl先通过measure来初始化整个的view树之后会调用onLayout方法来布局,ViewRootImpl是通过performLayout函数来发起重绘的比较重要的部分我会写注释,注意看注释就行 privat…