Хотя я нахожу этот подход странным, вы должны проверить родительский контейнер этих представлений.
Если это LinearLayout, неудивительно, что View не охватывает WebView.Если вы хотите использовать Layouts, попробуйте использовать RelativeLayout и выровнять элементы одинаково, например, добавив к обоим видам:
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
Другой вариант (и более правильный IMO) - использовать ViewSwitcher или ViewFlipper.Он переключается между дочерними элементами с помощью методов showNext (), showPrevious () (в ViewFlipper) и getNextView () (в ViewSwitcher).Действительно прост в реализации и использовании.Посмотрите несколько примеров.
Просто краткий совет:
<!-- ViewSwitcher or ViewFlipper -->
<ViewSwitcher
android:id="@+id/view_switcher"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<View
android:scrollbars="none"
android:id="@+id/id_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<WebView
android:scrollbars="none"
android:id="@+id/id_webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</ViewSwitcher>
И в вашем коде:
// This will hide currently displayed and reveal next
((ViewSwitcher) findViewById(R.id.view_switcher)).getNextView();
// Or, in case of ViewFlipper:
// This will hide currently displayed and reveal next
((ViewFlipper) findViewById(R.id.view_switcher)).showNext();
Разница между ними заключается в том, что Switcher можетимеет только 2 детей и имеет фабрику для создания представления.
PS Смешанные два аниматора, редактированное сообщение.