Как я скрываю WebView?

Мне нужно скрыть WebVew во время загрузки его веб-контента. Я попытался сделать это с другим видом следующим образом:

<WebView android:scrollbars="none" android:id="@+id/id_webview" android:layout_width="fill_parent" android:layout_height="fill_parent" /> <View android:visibility="gone" android:scrollbars="none" android:id="@+id/id_view" android:layout_width="fill_parent" android:layout_height="fill_parent" /> 

Когда я хочу скрыть WebView, я изменяю видимость представления на «видимый» (View.setVisibility (View.VISIBLE);). Но View не охватывает WebView, и он не скрывает. Мне нужно поместить представление на фронт во время загрузки WebView.

Хотя я считаю этот подход странным, вы должны проверить родительский контейнер этих представлений.

Если LinearLayout не удивительно, что View не распространяется на WebView. Если вы хотите использовать макеты пользователей, попробуйте использовать 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 Смешанные два аниматора, отредактированный пост.

Intereting Posts
Как сделать снимок Google Maps v2? Мягкая клавиатура Samsung теряет нажатие клавиш после изменения фокуса Фрагменты и действия – где я могу поместить свою логику приложения? Разработка кросс-платформенного мобильного приложения Активная вкладка центра внутри TabLayout Android, сделайте текст анимации прокручивающимся на экране, как первая часть Star Wars Не удалось запустить сервис Intent {act = com.google.android.c2dm.intent.REGISTRATION (имеет дополнительные функции)} U = 0: не найден Xml spring для андроида с градиентом Где код примера / tutorial для Viewpager, который отлично подходит для всех? Получить данные последнего журнала вызовов после завершения вызова с помощью широковещательного приемника Android 8 или выше: проверьте службы Google Play Ant не перестраивает Android-приложение с помощью `ant debug install` Android-устройство: elocity A7 040 не обнаружено Могу ли я оптимизировать первое время загрузки приложения приложения Meteor Android Cordova? Список существующих виртуальных устройств Android пуст