Webview的使用

webview是android里面一个加载网站的控件,首先要执行上网的功能,必须在androidmanifest里面加入可以上网的权限:
<uses-permission android:name="android.permission.INTERNET" />

在xml中加入这句话,可以去掉webview的滚动条,

android:scrollbars="none"

为了使webview支持JS,得先加入

webview.getSettings().setJavaScriptEnabled(true);

这两句代码可以使webview中的内容自适应手机屏幕;

webview.getSettings().setUseWideViewPort(true);   webview.getSettings().setLoadWithOverviewMode(true);

加载网址

webview.loadUrl("http://www.baidu.com");

加载本地网址;

webview.loadUrl("file:///android_asset/index.html");

当你的界面是有背景色(非白色)的时候,需要设置webview的背景色,

webview.setBackgroundColor(Color.parseColor("#FF0000"));

如果加载网址里面的网址再打开时要在app里面响应则要写上以下代码:

webview.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
} 

如果在一个activity中加载webview,需对返回键进行监听,如果webview能返回上一个网页就执行返回上一个网页,如果没有上一个网页可返回,则结束掉这个activity。

public boolean onKeyDown(int keyCode, KeyEvent event) {  
        if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {  
            webview.goBack(); 
            return true;  
        }  
        else if(keyCode == KeyEvent.KEYCODE_BACK){
         OneActivity.this.finish();
        return true;
        }
        return false;
    }   

当然也可以不用重写返回键的监听事件,给webview设置一个ontouchlistener即可:

webview.setOnTouchListener(new View.OnTouchListener() {
@SuppressLint("ClickableViewAccessibility")
@Override
public boolean onTouch(View v, MotionEvent event) {
return true;
}
}); 

webview的刷新功能:

webview.loadUrl(webview.getUrl()); 

即从新加载一个当前网址。
webview清除历史跟清除缓存

webview.clearCache(true);   
webview.clearHistory(); 

有时候webview加载的是一个图表或者一些不可动的html,那就需要设置webview不可滑动,重写webview的ontouch监听事件,

webview.setOnTouchListener(new View.OnTouchListener() {
@SuppressLint("ClickableViewAccessibility")
@Override
public boolean onTouch(View v, MotionEvent event) {
return true;
}
});

在webview中,获取加载的html的文章标题的方法:

WebChromeClient bin = new WebChromeClient() {  
            @Override  
            public void onReceivedTitle(WebView view, String title) {  
                super.onReceivedTitle(view, title);  
                main_web_off_tv.setText("" +title);  
            }  
        };
 webview.setWebChromeClient(bin);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值