Android OnLayout何时调用?

2024-01-09

我开发一个自定义View它延伸自ViewGroup。这意味着我需要实施onLayout方法。我认为当视图显示在屏幕上时会调用此方法,但我认为这是不对的。

你能解释一下什么时候onLayout方法调用以及我需要在该方法中实现什么?

它让我崩溃,因为我在 Android SDK onLayout 实现中看到 AdapterView,这让我感到困惑,因为该方法中没有一个参数未被使用。

@Override
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
    mLayoutHeight = getHeight();
}

该方法执行 Javadoc 所说的操作:

当此视图应分配大小和位置时从布局调用 它的每个孩子。有孩子的派生类应该覆盖 这个方法并在他们的每个孩子上调用布局。

换句话说,检查您的视图的子视图并设置它们的位置和大小。在参考文档中ViewGroup.java你正在扩展的有一个很好的example http://developer.android.com/reference/android/view/ViewGroup.html

还有一个training http://developer.android.com/training/custom-views/index.html用于在 Android 开发者网站上创建自定义视图。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android OnLayout何时调用? 的相关文章

随机推荐