Я пытаюсь использовать веб-представление в своем приложении Android. Я создаю свой webview в стороне кода (не в XML). Моя проблема; когда я называю loadUrl метод webview, webview идет полноэкранный режим. Как я могу сохранить размер webview, например, 200x200 пикселями?
Если существует какая-либо другая опция вместо webview, конечно, добро пожаловать :)
Спасибо,
Вполне возможно, что то, что вы видите, это не ваша деятельность, а приложения браузера, потому что URL, на который вы ссылались, сделал редирект. Используйте WebViewClient
и shouldOverrideUrlLoading()
, чтобы перехватить перенаправление и отправить его обратно в ваш собственный WebView
.
@ Махтиас Лин, пожалуйста, посмотрите мой код для создания и использования WebView;
WebView webView = new WebView(this);
RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, 416);
WebSettings webSettings = webView.getSettings();
webSettings.setSavePassword(false);
webSettings.setSaveFormData(false);
webSettings.setJavaScriptEnabled(true);
webView.setLayoutParams(p);
webView.loadUrl("http://www.google.com/");
Приведенный выше код не устанавливает высоту моего веб-просмотра 416 пикселей.
@CommonsWare, я попробовал предложить вам следующий код, и он отлично работает, спасибо.
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
view.loadUrl(url);
return false;
}
});
Но это использование принесло некоторые новые проблемы. Когда я переопределяю shouldOverrideURLLoading, веб-просмотр отображается без адресной строки, без навигации (назад, вперед и т. Д.)?
А также веб-просмотр не принимает вводимые пользователем данные?
Хорошо, я редактирую свой вопрос: )
Я поискал и нашел следующий дополнительный набор, чтобы веб-просмотр мог получать входные данные:
webView.requestFocus(View.FOCUS_DOWN);
С другой стороны, я думаю, я создам свои собственные кнопки назад, вперед и адресную строку для своего веб-просмотра. Я также буду прикреплять «что случилось» к этой теме, когда буду создавать свои кнопки и адресную строку.
Лучшее,
См. мой ответ и комментарии к. как показать веб-вью внутри активности в середине экрана
Применить LayoutParams к вашему WebView или к макету (т.е. LinearLayout), который окружает WebView, если таковой имеется, т.е. setLayoutParams(LinearLayout.LayoutParams(200, 200));