我想在我的Android应用程序中使用WebView.我在代码端创建我的webview(不是在XML中).我的问题是; 当我调用webview的loadUrl方法时,webview会进入全屏模式.如何保持webview的大小,例如200x200像素?
如果有任何其他选项而不是webview,当然欢迎:)
谢谢,
Com*_*are 14
您可能看到的不是您的活动,而是浏览器应用程序,因为您链接到的URL执行了重定向.使用WebViewClient和shouldOverrideUrlLoading()捕获重定向并将其发送回您自己的WebView.
@Mahtias Lin,请看我的代码来创建和使用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/");
Run Code Online (Sandbox Code Playgroud)
上面的代码没有将我的webview设置为416px高度.
@CommonsWare,我用下面的代码尝试了你的建议,令人惊讶的是它有效,谢谢.
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
view.loadUrl(url);
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
但这种用法带来了一些新问题.当我覆盖shouldOverrideURLLoading时,webview会显示no-addressbar,no-navigation(back,forward etc ...)?
webview也会接受用户输入吗?
好的,我正在编辑我的问题:)
我搜索了一下,我发现了以下附加设置,使webview能够获得输入;
webView.requestFocus(View.FOCUS_DOWN);
Run Code Online (Sandbox Code Playgroud)
另一方面,我想我会为我的webview创建自己的后退,前进按钮和地址栏.当我创建我的按钮和地址栏时,我还会附加"发生了什么".
最好,
请参阅我的回复和评论,了解 如何在屏幕中间的活动内显示网络视图
将 LayoutParams 应用到您的 WebView 或 WebView 周围的布局(即 LinearLayout)(如果有),即setLayoutParams(LinearLayout.LayoutParams(200, 200));
| 归档时间: |
|
| 查看次数: |
13842 次 |
| 最近记录: |