我有一个自定义的FrameLayout类,它在OnSizeChanged事件上执行一些自定义绘图。它是在那里完成的,而不是在OnDraw事件中,以避免重入和性能问题。这在单个活动应用程序中工作正常,但在TabActivity中失败。当前选项卡中的活动呈现正常,但未呈现非活动选项卡中的活动。 Here您可以下载重现此项目的示例项目。该项目是HelloTabWidget,但也使用HelloAndroid项目。
发现onWindowVisibilityChanged事件可能会有所帮助,但需要找到足够的大小来绘制我的控件。在下面的代码片段中,我需要一种在onWindowVisibilityChanged中查找容器大小的方法。
@Override
protected void onWindowVisibilityChanged(int visibility) {
super.onWindowVisibilityChanged(visibility);
int width = this.getWidth();
int height = this.getHeight();
drawContent(getCtxt(), width, height);
}