Android自定view的一些方法的说明

自定义view中一些方法的说明明

1.onFinishInflate()

回调方法,当应用从布局文件中加载该view并构建界面之后,就会回调这个方法

2.onMeasure(int,int)

测量该view以及它的子view的宽高(子view只是相对于viewgroup)
这里要注意的是:获取的宽和高,需要通过MeasureSpec这个类来转换,
因为onMeasure返回的是一个32位的int值,高2位是测量的模式,低30位是测量的大小
它常用的三个函数:
1 static int getMode(int measureSpec):根据提供的测量值(格式)提取模式
2 static int getSize(int measureSpec):根据提供的测量值(格式)提取大小值(这个大小也就是我们通常所说的大小)
3 static int makeMeasureSpec(int size,int mode):根据提供的大小值和模式创建一个测量值(格式)
三种测量模式:
(1) MeasureSpec.EXACTLY  
         layout_width 或者 layout_height 设置为类似于“100dp” 或者 match_parent 使用的是这个模式
(2)MeasureSpec.AT_MOST
       layout_width 或者 layout_height 设置为  wrap_content 使用的是这个模式
(3) MeasureSpec.UNSPECIFIED
      他不指定大小测量模式,View像多大就多大,通常情况下在绘制自定义view时才会使用。

3.onLayout(boolean,int,int,int,int)

当这个组件要分配它的子view的位置和大小的时候,就需要用到这个方法

4.onSizeChanged(int,int,int,int)

当组件的大小发生变化的时候会回调这个方法

5.onDraw(Canvas)

当组件要绘制内容的时候就会回调这个方法;这里需要注意的是:当想要刷新view的效果时,可以调用方法invalidate() 就会重新回调onDraw(Canvas)方法。

6.onKeyDown(int,KeyEvent)

当手指从某个键被按下时触发这个方法(软件键盘上的按键,还有功能键)

7.onKeyUp(int,KeyEvent)

当手指某个键上离开的时候触发这个方法

8.onTrackballEvent(MotionEvent)

当发生轨迹球事件是触发这个方法(这个轨迹球是个什么东西我也不了解,百度资料也不多,感觉像是游戏中的操作方向的那个球球)

9.onTouchEvent(MotionEvent)

当触摸屏幕时触发的回调方法

10.onWindowFocusChanged(boolean)

当组件得到和失去焦点的时候触发这个方法

11.onAttachedToWindow()

当把该组件放入某个窗口时触发该方法,而他触发的时机时在activity的onResume()方法之后
这个可以通过打印log日志查看出来当然具体的可以看这篇博客
这是从那里coyp的图片:

查看博客
这里写图片描述

12.onDetachedFromWindow()

和上面的方法相反,是从某个窗口上分离时触发这个方法

13.onWindowVisibilityChanged(int)

当包含该组件的窗口发生可见性变化时触发这个方法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值