Могу ли я сделать элемент WebView «плавающим» поверх моего основного макета?

#android #layout #webview

#Android #макет #webview

Вопрос:

Возможно ли сделать WebView (или любое представление, которое может анализировать / отображать html) «плавающим» окном поверх основного макета?

В принципе, у меня есть список ссылок, отображаемых в ListView. Когда пользователь выбирает одну из ссылок, я хотел бы загрузить и отобразить результаты на плавающей панели (вроде контекстного меню, но занимает почти весь экран и прокручивается), скажем, кнопкой закрытия в правом верхнем углу. Таким образом, когда пользователь закончит просмотр содержимого, он / она может просто нажать кнопку закрытия, чтобы вернуться на предыдущую страницу списка.

Возможно ли это? или я должен запустить новое действие, которое загружает отдельный макет для содержимого, с некоторым механизмом отслеживания, чтобы вернуться на страницу списка.

Большое спасибо.

Ответ №1:

Что я сделал для раздела справки моего приложения, так это создал новое действие, которое просто содержит WebView с темой.Диалоговое окно, установленное в AndroidManifest.xml:

     <activity android:name=".HelpActivity" android:theme="@android:style/Theme.Dialog"/>
  

Таким образом, WebView запускается как «плавающий диалог» поверх текущего экрана.

Не уверен, что это именно то, что вы хотите, но это очень простой и эффективный способ выполнить то, что мне нужно было сделать.

Комментарии:

1. Спасибо, это вроде сработало, но вид очень узкий по высоте, как предварительно определено темой. Диалоговое окно. Как я могу переопределить это?

2. Узкий? Насколько я могу судить, он следует за предоставленной ему веб-страницей. Для меня он заполняет экран, поскольку у меня есть длинный файл справки, который пользователь прокручивает по вертикали. Не уверен, как вы можете переопределить это, если это не работает… :/