小试view的执行过程,此是入门,高手绕道。

-------------------------------------------------------------------------------- 
此为抛砖引玉,个人看官自己发挥。 
结果如下:

  1. 12-05 22:23:03.587: D/mDebug(9715): TestView context, attrs=@2131034112
  2. 12-05 22:23:03.597: D/mDebug(9715): onFinishInflate
  3. 12-05 22:23:03.667: D/mDebug(9715): onSizeChanged,w=240,h=282,oldw=0,oldh=0
  4. 12-05 22:23:03.727: D/mDebug(9715): onDraw
  5. 12-05 22:23:03.757: D/mDebug(9715): onDraw

[size=l代码如下:[/size]

  1. public class TestView extends View {
  2. public TestView(Context context) {
  3. super(context);
  4. Log.d("mDebug", "TestView context");
  5. }
  6. public TestView(Context context, AttributeSet attrs, int defStyle) {
  7. super(context, attrs, defStyle);
  8. Log.d("mDebug", "TestView context,attrs,defStyle attrs="+attrs.getAttributeValue(0));
  9. }
  10. public TestView(Context context, AttributeSet attrs) {
  11. super(context, attrs);
  12. Log.d("mDebug", "TestView context, attrs="+attrs.getAttributeValue(0));
  13. }
  14. @Override
  15. protected void onDraw(Canvas canvas) {
  16. // TODO Auto-generated method stub
  17. super.onDraw(canvas);
  18. Log.d("mDebug", "onDraw");
  19. }
  20. @Override
  21. protected void onFinishInflate() {
  22. // TODO Auto-generated method stub
  23. super.onFinishInflate();
  24. Log.d("mDebug", "onFinishInflate");
  25. }
  26. @Override
  27. protected void onSizeChanged(int w, int h, int oldw, int oldh) {
  28. // TODO Auto-generated method stub
  29. super.onSizeChanged(w, h, oldw, oldh);
  30. Log.d("mDebug", "onSizeChanged,w="+w+",h="+h+",oldw="+oldw+",oldh="+oldh);
  31. }
  32. }

问题: 构造函数的context为何物,attrs从何处来

看到这篇文章貌似解决了以上问题。 
http://blog.csdn.net/z103594643/article/details/6755017

扩展地址:http://developer.android.com/reference/android/view/View.html

android,view的执行过程onDraw、onSizeChanged,onFinishInflate的更多相关文章

  1. Android View的绘制过程

    首先是view的绘制过程~最主要的分三部分 measure layout draw 看字面意思,计算,布局,画~ android中控件相当于是画在一个无限大的画布上的,那就产生了几个问题 画布无限大, ...

  2. android权限申请执行过程

    弹出的授权对口窗口实际上是一个activity(隐式intent启动上图第二个方块里)(com.android.packageinstaller.permission.ui.Grantpermissi ...

  3. android view 中各函数的执行顺数

    这个就好像是 activity 的生命周期一样,如果我们要使用自定义的 view,那么就很有必要了解一下 view 的那些能够被重写的函数的执行顺序.废话不多讲,以常用的5个函数为例子,见下文: pa ...

  4. Android View 的绘制流程之 Layout 和 Draw 过程详解 (二)

    View 的绘制系列文章: Android View 的绘制流程之 Measure 过程详解 (一) Android View 绘制流程之 DecorView 与 ViewRootImpl 在上一篇  ...

  5. 简单研究Android View绘制三 布局过程

    2015-07-28 17:29:19 这一篇主要看看布局过程 一.布局过程肯定要不可避免的涉及到layout()和onLayout()方法,这两个方法都是定义在View.java中,源码如下: /* ...

  6. android 中view的绘制过程

    view的绘制过程中分别会执行:onMeasure(会多次)计算view的大小,OnLayout(),确定控件的大小和位置 onDraw()绘制view 当Activity获得焦点时,它将被要求绘制自 ...

  7. 《Android内核剖析》读书笔记 第13章 View工作原理【View重绘过程】

    计算视图大小的过程(Measure) 视图大小,准确的来说应该是指视图的布局大小:我们在layout.xml中为每个UI控件设置的layout_width/layout_height两个属性被用来设置 ...

  8. Android中View的绘制过程 onMeasure方法简述 附有自定义View例子

    Android中View的绘制过程 onMeasure方法简述 附有自定义View例子 Android中View的绘制过程 当Activity获得焦点时,它将被要求绘制自己的布局,Android fr ...

  9. 【转】Android中View的绘制过程 onMeasure方法简述 附有自定义View例子

    Android中View的绘制过程 当Activity获得焦点时,它将被要求绘制自己的布局,Android framework将会处理绘制过程,Activity只需提供它的布局的根节点. 绘制过程从布 ...

随机推荐

  1. Java参数传递问题

    参考资料:http://blog.sina.com.cn/s/blog_59ca2c2a0100qhjx.html   http://blog.csdn.net/a412588063/article/ ...

  2. ORACEL12c求和SUM(a+b)与SUM(a)+SUM(b)结果不一致问题

    今天在oracle12c数据库遇到的问题,下面重现一下: 1.先创建一个临时表 temp.一个数据表bitest_sum; -- Create table create table PEC.BITES ...

  3. 下载PhpStorm并进行激活

    1.首先登陆PhpStorm官网http://www.jetbrains.com/phpstorm/ 点击附图中的download now 按钮 2.第二步根据os x \wind\ linux进行下 ...

  4. Xcode-之项目重命名

    一.前言 在iOS开发过程中,对于以前的项目或者想改一下项目的名字,都会遇到比较麻烦的事情.直接改项目名,然而它会牵扯一大堆问题,并且不能把所有的名字都能改过来.有些文件改了项目名后,引导路径错误,导 ...

  5. Xcode-之CocoaPads

    一.说明 CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的依赖库(这些类库必须是CocoaPods本身所支持的),并且可以 ...

  6. validform 怎么验证小数。

    <input type="text" class="input-text" value="{$info.score}" placeho ...

  7. JS复习:第八章

    一.全局作用域: 所有在全局作用域中声明的变量.函数都会变成window对象的属性和方法.全局变量不能通过delete操作符删除,而window对象上定义的属性可以. 二.窗口大小 使用resizeT ...

  8. jQuery第四章

    jQuery中的事件和动画 一.jQuery中的事件 1.加载DOM (1)执行时机 $(document).ready()方法和window.onload方法有相似的功能,但是在执行时机方面是有区别 ...

  9. hdfs zkfc –formatZK 之HadoopIllegalArgumentException: Bad argument: –formatZK

    HadoopIllegalArgumentException: Bad argument: –formatZK从某文档中拷贝的命令,粘贴过来使用的,“–formatZK”有问题解决方法:手工输入此命令 ...

  10. 安装Python package

    下载对应的源码,往往都是.tar.gz,.zip的压缩包,解压. 打开windows的cmd,切换到对应目录 C: cd C:\xx setup.py install