问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

webview怎么显示完整网页

发布网友 发布时间:2022-04-29 23:50

我来回答

2个回答

热心网友 时间:2022-05-13 20:00

在AndroidManifest.xml设置访问网络权限:

<uses-permission android:name="android.permission.INTERNET"/>
控件:

<WebView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/webView"
/>

用途一:加载本地/Web资源

example.html 存放在assets文件夹内

调用WebView的loadUrl()方法,

加载本地资源

webView = (WebView) findViewById(R.id.webView);
webView.loadUrl("file:///android_asset/example.html");
加载web资源:

webView = (WebView) findViewById(R.id.webView);
webView.loadUrl("http://.com");

用途二:在程序内打开网页

创建一个自己的WebViewClient,通过setWebViewClient关联

复制代码
package com.example.testopen;

import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends Activity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
init();

}

private void init(){
webView = (WebView) findViewById(R.id.webView);
//WebView加载web资源
webView.loadUrl("http://.com");
//覆盖WebView默认使用第三方或系统默认浏览器打开网页的行为,使网页用WebView打开
webView.setWebViewClient(new WebViewClient(){
@Override
public boolean sho www.hnne.com uldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
//返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器
view.loadUrl(url);
return true;
}
});
}

}
复制代码

用途三:

如果访问的页面中有Javascript,则webview必须设置支持Javascript

//启用支持javascript
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);

用途四:

如果希望浏览的网页后退而不是退出浏览器,需要WebView覆盖URL加载,让它自动生成历史访问记录,那样就可以通过前进或后退访问已访问过的站点。

复制代码
//改写物理按键——返回的逻辑
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if(keyCode==KeyEvent.KEYCODE_BACK)
{
if(webView.canGoBack())
{
webView.goBack();//返回上一页面
return true;
}
else
{
System.exit(0);//退出程序
}
}
return super.onKeyDown(keyCode, event);
}
复制代码
用途五:判断页面加载过程

复制代码
webView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
// TODO Auto-generated method stub
if (newProgress == 100) {
// 网页加载完成

} else {
// 加载中

}

}
});
复制代码
用途六:缓存的使用

优先使用缓存

webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
不使用缓存:

webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);

热心网友 时间:2022-05-13 21:18

实现方法:

建立一个android工程,编辑.java文件:
[java] view plaincopyprint?
package com.android;

import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;

public class WebTestActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

final String mimetype = "text/html";
final String encoding = "utf-8";

WebView wv;

wv = (WebView) findViewById(R.id.wv);
wv.loadData("<a href ='http://blog.csdn.net/imyang2007?viewmode=contents'>Young's Blog</a>", mimetype, encoding);
}
}
用XML layout来对UI布局,编辑main.XML:
[html] view plaincopyprint?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<WebView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/wv"
/>

</LinearLayout>

在这里定义了一个WebView标签,并把该标签的id命名为wv,通过指定ID属性给View的方式,让应用程序在运行时期(run-time)找到相应的view对象。在就是findViewById在代码中的作用,在我们编辑main.XML文件后,R.java文件也会对应更新,我们可以看见在R.java中,多了一个:
[java] view plaincopyprint?
public static final class id {
public static final int wv=0x7f050000;
}
取得WebVeiw对象后,调用WebView.loadData方法,将HTML内容载入到webview,并显示在Activity上。loadData参数:
HTML内容
MimeType类型,指定为text/html,即为HTML文件
文字编码方式,utf-8,Unicode方式。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
福建南安都有哪些市场 端午节去南安旅行的线路有哪些值得分享? 南安有哪些特色商业街 把一个棱长是10厘米的正方体铁块熔铸成一个底面积是20厘米的圆锥形铁块... 把一块棱长10厘米的正方体铁块熔铸成一个底面直径是20厘米的圆柱形零件... 0x0438ef0指令引用的0x0438ef0内存.该内存不能为“read”的错误提示... SONY 索尼 DSC-RX100M5A 1英寸数码相机 黑色(8.8-25.7mm、F1.8) Vl... SONY 索尼 DSC-RX100M5A 1英寸数码相机 黑色(24-70mm、F1.8-F2.8)-购... 索尼RX100 M5A数码相机 索尼RX100 M5A数码相机:小巧便携,成像卓越 ios 微信登录能使用webview吗 如何控制了Android的WebView历史/后退堆栈 《突围》电视剧故事原型是什么? 电信流量卡带分钟的多少钱一张 Android WebView自定义错误页时如何保证按后退键反应正常 《突围》朱道奇原型是谁? android webView 当用loadDataWithBaseURL加载本地html时如何实现后退... 红旗渠中吴念祖原型 android system webview是什么 奋进的旋律中林杰的原型是谁? Android 点击了webview里的链接 前进后退按钮 当可以操作时就会变一种颜色 这种效果怎么做 求高手指点 武林外传中所有人的原型是什么? 查询自己身份证办的手机卡? 突围林满江原型 Android 中的webview如何监听网页切换了,比如前进或者后退了? 《扫黑风暴》每集原型? 李幼斌演的灾难片 林士群历史原型是谁 历史趣谈林士群历史原型是谁 济南有个电台晚上放情感故事 是哪个调频来? 办理一个59块钱只含有5GB流量,150分钟通话的流量卡套餐划算嘛? 常州4555社保补贴怎么领取 流量卡话费多少钱一分钟? 请问36吨挖掘机带多大的炮头? 卡特336加长27米的配重加多少 卡特336d l与336d有什么不同 挖掘机自重36吨,适合用的挖斗是多少立方为最好? 360型和460型液压挖掘机是什么意思 挖掘机的210 230 360是什么意思 挖机360是什么意思? 请问大家挖掘机的型号比如360,是啥意思? 请问能拖36吨的挖掘机拖板车价格是多少? 360挖掘机指的是什么 写见习报告,关于语文的狼牙山五壮士 怎么看挖掘机的自重是多少吨?还有怎么看挖掘机是杠几的? 挖掘机220 360什么意思? 军训时临走时,放了一首轻音乐,很让人想哭的 2010年贵州省的初级会计师如何报名 长亭外古道边这首歌是哪部电视剧的主题歌?? 想考09年贵州初级会计从业资格证书