У меня есть собственный класс FrameLayout, который выполняет некоторые пользовательские рисования для события OnSizeChanged.Это делается там, а не в событии OnDraw, чтобы избежать повторного входа и, следовательно, проблем с производительностью.Это прекрасно работает в одном приложении активности, но не работает в TabActivity.Действие на текущей вкладке отображается нормально, но действия на неактивных вкладках не отображаются. Здесь вы можете скачать пример проекта, воспроизводящего это.Проект 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);
}