首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

004. Android界面刷新没调用OnMeasure

2012-07-20 
004. Android界面刷新没有调用OnMeasure最近写了一个android上chart和table控件,总结了几点关于自定义控件

004. Android界面刷新没有调用OnMeasure

最近写了一个android上chart和table控件,总结了几点关于自定义控件注意点。

1. onLayout 和 onMeasure必须重载。

2. 如果你无法判断自己的大小,在onMeasure的时候只需要调用super的onMeasure即可,同时还必须调用measureChildren。

?? 2.1 如果没有调用measureChildren,那么在界面刷新的时候就不能保证每个元素的rendering都是可预测的。

3. 重载onLayout不能改变view的hierachy,否则会陷入endless loop。不停的调用onLayout。

4. 响应用户的手势操作,可以通过调用layout方法,改变某个元素的位置。这样的好处是可以避免对整个控件的relayout。

?? 4.1 缺点是我们必须保存元素的位置,否则在下次必须全局layout的时候就丢失了当前元素的位置信息。因为layout方法不会将位置信息保存到layoutparam中。

1 楼 xiaojiaqiao 2011-09-01   能改变view的hierarchy,不过要调用的是addViewInLayout,removeViewInLayout等方法。

热点排行