《Android群英传》阅读笔记(一)

版权声明:本文为博主原创文章,欢迎转载,转载请注明出处。 https://blog.csdn.net/qq_18945757/article/details/86507727
  1. Context : Activity、Service、Application都是继承自Context(上下文),当创建这三个对象的时候,就会创建Context。
    使用:e.g.在Activity中,直接使用this获得该Context对象;在匿名内部类中,指定XXXActivity.this获得该Activity的Context对象;通过getApplicationContext()方法过的整个App的Context。
  2. Makefile最大的好处就是自动化编译。Android通过Makefile来描述Android各个组件间的联系并指导它们进行自动化编译。Makefile的语法,指定了各个源代码该如何连接并生成相应的可执行程序。
  3. 在这里插入图片描述
    在这里插入图片描述
  4. View的测量=告诉系统要画的View的大小。通过onMeasure()方法告诉系统要画的View的大小,要用MeasureSpec类(MeasureSpec对象中包含了测量的模式和测量值的大小)。View的3种测量模式:EXACTLY(精确值模式->match_parent或100dp时)、AT_MOST(wrap_content时)、UNSPECIFIED(自定义View时)。onMeasure()默认只支持EXACTLY,其他模式要重写onMeasure()。
  5. View的绘制,其实并没有将图形直接绘制在onDraw()方法指定的那块画布上,而是通过改变bitmap,然后让View重绘,从而显示改变之后的bitmap。
  6. 自定义ViewGroup时,通过重写onLayout()方法来控制其子View显示位置的逻辑。如果需要支持wrap_content属性,还必须重写onMeasure()方法。
  7. ViewGroup通常不需要绘制。如果指定了ViewGroup的背景颜色,ViewGroup的onDraw()方法会被调用。ViewGroup会使用dispatchDraw()方法来绘制其子View。
  8. 在自定义View时,通常会去重写onDraw()方法来绘制View的显示内容。
    View中常用的一些回调方法:
  • onFinishInflate():从XML加载组件后回调;
  • onSizeChanged():组件大小改变时回调;
  • onMeasure():回调该方法来进行测量;
  • onLayout():回调该方法来确定显示的位置;
  • onTouchEvent():监听到触摸事件时回调;
  1. 实现自定义控件的三种方法:
  • 对现有控件进行拓展 :继承一个现有的控件,再改写指定的功能。自定义控件-TextView
  • 通过组合来实现新的控件:继承一个合适的ViewGroup,再给它添加指定功能的控件,从而组合成新的复合控件。自定义控件-TopBar
  • 重写View来实现全新的控件

猜你喜欢

转载自blog.csdn.net/qq_18945757/article/details/86507727