Вращение на 90 градусов FrameLayout, содержащее webview в Android

Я пытаюсь повернуть framelayout, содержащий webview в android, вот мой код:

FrameLayout contentView = (FrameLayout) getRootView().findViewById( R.id.content); FrameLayout backGround = new FrameLayout(getContext()); FrameLayout.LayoutParams bgfl = new FrameLayout.LayoutParams( FrameLayout.LayoutParams.FILL_PARENT, FrameLayout.LayoutParams.FILL_PARENT); backGround.addView(WebView object); contentView.addView(backGround, bgfl); RotateAnimation r = new RotateAnimation(0f, -90f,Animation.RELATIVE_TO_SELF,0.5f, Animation.RELATIVE_TO_SELF,0.5f); r.setDuration(0); r.setFillAfter(true); LayoutAnimationController animController = new LayoutAnimationController(r, 0); backGround.setLayoutAnimation(animController); 

Он вращается нормально … но проблема в том, что любая область с кликами в веб-просмотре не меняет свои координаты в соответствии с повернутой системой координат макета. Кроме того, прокрутка веб-просматривается с обратной стороны

Любое предложение о том, как исправить эту проблему

У меня были схожие проблемы с возможностью активировать часть пользовательского интерфейса во время работы анимации, даже несмотря на отсутствие «ничего». Используемая вами RotateAnimation обновляет только визуальные представления, все элементы FrameLayout остаются неповрежденными в исходных местах.

Одна из возможностей – создать отдельный макет для вашего FrameLayout который настроен так, чтобы выглядеть как просмотр после ротации. Этот макет может быть создан в вашей Activity , onAnimationEnd(Animation) Animation.AnimationListener и помещая код создания в метод onAnimationEnd(Animation) .

Понятно, что значение вашего значения setDuration(int) равно 0, похоже, что вы даже не заботитесь о том, чтобы увидеть анимированный вид вообще. В этом случае вы можете просто заменить код, который запускает LayoutAnimation с кодом, который заменяет макет.