Android UI控件系列:WebView(网络视图)
- 作者: 大腿无名指
- 来源: 51数据库
- 2020-08-16
Android网路功能很强大,WebView组件支持直接加载网页,可以将其视为一个浏览器,要实现该功能,具体步骤如下
1、在布局文件中声明WebView
2、在Activity中实例化WebView
3、调用WebView的loadUrl()方法,加载指定的URL地址网页
4、为了让WebView能够响应超链接功能,调用setWebViewClient()方法,设置WebView客户端
5、为了让WebView支持回退功能,覆盖onKeyDown()方法
6、一定要注意:在AndroidManifest.xml文件中添加访问互联网的权限,否则不能显示
<uses-permission android:name=”android.permission.INTERNET”/>
WebViewTest.java
/*
* @author hualang
*/
package org.hualang.webview;
import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class WebViewTest extends Activity {
? ? /** Called when the activity is first created. */
? ? ? ? private WebView webview;
? ? @Override
? ? public void onCreate(Bundle savedInstanceState) {
? ? ? ? super.onCreate(savedInstanceState);
? ? ? ? setContentView(R.layout.main);
? ? ? ? webview=(WebView)findViewById(R.id.webview);
? ? ? ? //设置WebView属性,能够执行JavaScript脚本
? ? ? ? webview.getSettings().setJavaScriptEnabled(true);
? ? ? ? //加载URL内容
? ? ? ? webview.loadUrl("http://www.baidu.com");
? ? ? ? //设置web视图客户端
? ? ? ? webview.setWebViewClient(new MyWebViewClient());
? ? }
? ? //设置回退
? ? public boolean onKeyDown(int keyCode,KeyEvent event)
? ? {
? ? ? ? ? ? if((keyCode==KeyEvent.KEYCODE_BACK)&&webview.canGoBack())
? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? webview.goBack();
? ? ? ? ? ? ? ? ? ? return true;
? ? ? ? ? ? }
? ? ? ? ? ? return super.onKeyDown(keyCode,event);
? ? }
? ? //web视图客户端
? ? public class MyWebViewClient extends WebViewClient
? ? {
? ? ? ? ? ? public boolean shouldOverviewUrlLoading(WebView view,String url)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? view.loadUrl(url);
? ? ? ? ? ? ? ? ? ? return true;
? ? ? ? ? ? }
? ? }
}
main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ? ? android:orientation="vertical" ? ? android:layout_width="fill_parent" ? ? android:layout_height="fill_parent" ? ? > <WebView ? ? ? ? android:id="@+id/webview" ? ? ? ? android:layout_width="fill_parent" ? ? ? ? android:layout_height="fill_parent" /> </LinearLayout>
运行结果如下:

推荐阅读
热点文章
android中Bitmap用法(显示,保存,缩放,旋转)实例分析
12
android 仿微信聊天气泡效果实现思路
1
Android的尺度,drawable-xxxxxxx
2
Codeforces Round #656 (Div. 3) (C、D题)
1
Android之handler异步消息处理机制解析
6
GridView中图片显示出现上下间距过大,左右图片显示类似瀑布流的问题
0
AsyncTask的简单使用
5
两个简单Fragment之间的通信(三种方式)
18
uboot修改设置boot参数命令
41
android中实现从相册中一次性获取多张图片与拍照,并将选中的图片显示出来
2
