关于getMeasureHeight和自定义view
来源:互联网 发布:最强淘宝系统txt下载 编辑:程序博客网 时间:2024/05/10 07:30
构造函数: 一个参数用在Activity里 两个参数用在xml里用
自定义view的填充
加载图片,作为背景或者资源
Anzhoid中View的绘制流程: measure—>layout—->draw 方法由父view调用
测量 布局 绘制
mesure: 测量宽高
如果ViewGroup ,onMesure会调用子View的mesure方法
layout:定义自己的位置,传左上右下坐标 ,onLayout用于计算view的子View的位置
1.draw方法 画自己背景, 2.onDraw画内容 3.调用子节点的view方法画子节点view
总之: 重写onDraw方法: 设定控件样式
onMesure方法:设定样式 大小
如果控件有子View,再重写onLayout方法,设定子view的布局
参数是大小约束
invaidate() 刷新当前界面,触发onDraw()
我们一定会通过setContentView方法将我们要展示的界面传入该方法,该方法会讲我们界面通过addView追加到id为content的一个FrameLayout(ViewGroup)中,然后addView方法中通过调运invalidate(true)去通知触发ViewRootImpl类的performTraversals()方法,至此递归绘制我们自定义的所有布局。
getMesureHeight 是里面返回的是成员变量,而该成员变量赋值是在setMeasuredDimensionRaw(int measuredWidth, int measuredHeight)方法中
方法调用是在setMeasuredDimension(int measuredWidth, int measuredHeight)中,而此方法是protected的,所以继承View的子类可重写此方法来定义getMesureHeight的值;
否则,就需要调用onMesure方法,因为View中就是在onMesure方法中调用的setMeasuredDimension;
而getHeight是返回的 mBottom - mTop;这两个成员变量赋值是在layout方法调用时赋值的,所以在设定布局后 getHeight就有值了。
调用layout方法改变view的布局,可以使getHeight的值发生变化,但是不会改变getMeasureHeight的值
- 关于getMeasureHeight和自定义view
- 关于自定义view
- 021.关于自定义View
- 关于自定义View
- 关于自定义View中onMesure和onDraw方法
- 三、关于自定义view的文章:饼状图和折线图
- 关于自定义View的Paint、Canvas和PorterDuffXfermode的用法
- 自定义View和自定义Button
- 自定义View和控件
- 自定义View和ViewGroup
- 自定义View和ViewGroup
- 关于自定义view的思考
- 关于自定义View入门知识
- 关于自定义view属性设置
- 关于自定义View简单说明
- 关于view的自定义viewpager
- 关于自定义组合控件以及自定义view
- Android 自定义view第一弹——关于自定义View
- loadrunner 中vuser中的iterations与control中的iterations有什么区别,如何使用?
- ERROR:使用dom4j解析xml文件遇到中文路径问题
- [易飞]按产品型号开票金额TOP20同上月涨幅
- 接力贷合力贷你知道吗?
- 对称矩阵的压缩存储
- 关于getMeasureHeight和自定义view
- 【悟空】恍恍惚惚进入软件测试行业
- 字符串截取
- Android 中的notify 机制
- 前加绩中国、信雅达高级全栈工程师:吴劲松
- Uicc之UiccCardApplication
- DB2日期时间函数
- AOSP中make clean与make clobber的区别
- RESTful API 设计指南