当前位置: 移动技术网 > IT编程>移动开发>Android > Android WebView 详解及简单实例

Android WebView 详解及简单实例

2019年07月24日  | 移动技术网IT编程  | 我要评论

ifyou音译,tokyo hot n0247,kfc全家桶半价

webview基本使用

  •  webview是view的一个子类,可以让你在activity中显示网页
  • 可以在布局文件中写入webview:比如下面这个写了一个填满整个屏幕的webview:
<?xml version="1.0" encoding="utf-8"?>
<webview xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/webview"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
/>

加载一个网页,使用loadurl():

webview mywebview = (webview) findviewbyid(r.id.webview);
mywebview.loadurl(http://www.example.com);

设置webview要显示的网页

  1. 设置wevview要显示的网页方法有很多:
  2. 互联网页面直接用:
mywebview.loadurl(“http://www.google.com“);

本地文件用:

mywebview.loadurl(“file:///android_asset/xx.html“); 

本地文件存放在:assets文件中。

  还可以直接载入html的字符串,如:

string htmlstring = "<h1>title</h1><p>this is html text<br /><i>formatted in italics</i><br />anothor line</p>";
// 载入这个html页面
mywebview.loaddata(htmlstring, "text/html", "utf-8");

在webview中使用javascript

webview = (webview) findviewbyid(r.id.wedview);
    websettings settings = webview.getsettings();
    //支持js
    settings.setjavascriptenabled(true);
    // 安卓为js提供接口
    webview.addjavascriptinterface(new object(){
      @android.webkit.javascriptinterface
      private void setinfo(string username,string uclass) {
        // todo auto-generated method stub
        toast.maketext(mainactivity.this,"username:"+username+","+"uclass"+uclass, toast.length_short).show();

      }


    }, "javacode");

webview.loadurl("http://localhost:8080/jstest.html");

webview 显示网页

<progressbar 
    android:id="@+id/progressbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    style="?android:attr/progressbarstylehorizontal"
    android:visibility="gone"

    />
  <webview 
    android:id="@+id/wedview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"    
    />

java代码

progressbar = (progressbar) findviewbyid(r.id.progressbar);
    wedview = (webview) findviewbyid(r.id.wedview);
    // 设置作为客户端存在,界面跳转只在自己应用程序中
    wedview.setwebviewclient(new webviewclient());
    wedview.loadurl("要显示的网址");
    wedview.setwebchromeclient(new webchromeclient(){
      @override
public void onprogresschanged(webview view, int newprogress) {
        // todo auto-generated method stub
  super.onprogresschanged(view, newprogress);
        progressbar.setvisibility(view.visible);
        //设置进度
        progressbar.setprogress(newprogress);
        // 进度到头,消失
        if (newprogress==100) {
          progressbar.setvisibility(view.gone);

        }

      }
    });
    //初始化webview
    initwedsetrings();



public void initwedsetrings(){

    //获取设置的对象
     websettings settings = wedview.getsettings();
     //设置wedview的缓存方式,设为默认方式
    // 默认如果有缓存,并且缓存未过期,使用缓存,否则使用网络
     settings.setcachemode(websettings.load_default);
     //设置支持js代码
     settings.setjavascriptenabled(true);
     //设置缩放模式,缩放到最小
     settings.setdefaultzoom(zoomdensity.far);
     //设置字体大小
     settings.settextsize(textsize.smaller);

  }

注意添加权限

 <uses-sdk
    android:minsdkversion="8"
    android:targetsdkversion="17" />
  <uses-permission android:name="android.permission.internet"/>

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网