• 自定义View完全解析


    自定义View主要包括以下3种方式:

    一、组合控件,利用已有控件的组合,来满足自己的需求。

    例子:顶部导航栏

    二、继承已有View,比如继承TextView、ImageView等,根据需要重写相应的方法,主要是重写onDraw来实现自己的需求。

    例子:圆形头像

    三、完全自定义View,包括自定义属性,测量、布局、绘制等。 

    例子:自定义验证码控件   自定义圆形进度条

    ----------------------------分割线----------------------------------

    完全自定义View主要包括以下步骤:

    1、自定义View的属性

    2、在Constructor中获得自定义属性并创建画笔等

    3、重写onMesure 

    4、重写onLayout

    5、重写onDraw

    说明:一般情况下,自定义View需要重写onMeasure与onDraw; 自定义ViewGroup必须重写onLayout,一般需要重写onMeasure不用重写onDraw. 

    补充:View的常见回调方法(与绘制流程密切相关)

    onFinishInflate()  当应用从XML加载该控件并用它构建界面之后调用的方法
     
    onMeasure()  测量View及其子控件的大小
    onLayout()  当该控件需要分配其子控件的位置、大小时
    [onPreDraw()  在组件将要绘制之前调用]
    onDraw()  当组件开始绘制时调用
     
    dispatchTouchEvent  事件分发的方法
    onInterceptTouchEvent  事件拦截的方法
    onTouchEvent   触摸事件的方法
     
    onAtrrachedToWindow  当把该控件放入到某个窗口时
    onDetachedFromWindow  当把该控件从某个窗口上分离时触发的方法
     
    onVisibilityChanged  控件可见性发送改变时调用
    onWindowVisibilityChanged  当包含该控件的窗口的可见性发生改变时触发的方法
    onFocusChanged  控件焦点改变时调用
    onWindowFocusChanged  当包含该控件的窗口的焦点发生改变时触发的方法
     
    onSizeChange  当该组件的大小被改变时
    onTrackballEvent  当发生轨迹球事件时
  • 相关阅读:
    炒炒饼分锅喂
    奥运会
    360和腾讯QQ共存
    Lenovo F41 使用WinXP不能全屏看Flash格式的电影的解决方法
    如何在Windows server 2003上安装和设置Citrix MetaFrame XP FR3
    “电脑人才”是怎么炼成的
    Lenovo F41 使用WinXP不能全屏看Flash格式的电影的解决方法
    学车
    终于有了自己的本本了
    学车
  • 原文地址:https://www.cnblogs.com/wytiger/p/5364916.html
Copyright © 2020-2023  润新知