`
shirlly
  • 浏览: 1651689 次
  • 性别: Icon_minigender_2
  • 来自: 福州
社区版块
存档分类
最新评论

【转】Android中Webview使用经验总结

阅读更多
1.添加权限

要用Webview,确认你在**AndroidManifest.xml** 中添加了使用许可 "android.permission.INTERNET" ,否则会出Web page not available错误。


1

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



2.开启Javascript支持

如果访问的页面中有Javascript,或者需要通过js和页面交互,则webview必须设置支持Javascript,方法如下:


1

webview.getSettings().setJavaScriptEnabled(true); 



注意:
Using setJavaScriptEnabled can introduce XSS vulnerabilities into you application, review carefully.
可以添加@SuppressLint("SetJavaScriptEnabled")

3.设置可以自动加载图片


1

mWebView.getSettings().setLoadsImagesAutomatically(true);



4.设置WevView要显示的网页

互联网用:webView.loadUrl("http://www.eoe.cn");
本地文件用:webView.loadUrl(file:///android_asset/eoe.html);固定格式
本地文件存放在:assets文件中

5.处理返回键为返回上一页

如果用webview点链接看了很多页以后,如果不做任何处理,点击系统“Back”键,整个浏览器会调用finish()而结束自身,如果希望浏览的网页回退而不是退出浏览器,需要在当前Activity中处理并消费掉该Back事件,覆盖Activity类的onKeyDown(int keyCoder,KeyEvent event)方法,代码如下:


1
2
3
4
5
6
7
8
9

// To handle the back button key press
public boolean onKeyDown(int keyCode, KeyEvent event) {
    LogUtil.i(this, "keyCode="   keyCode);
    if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
        mWebView.goBack();
        return true;
    }
    return super.onKeyDown(keyCode, event);
}



6.设置android WebView 不显示滚动条

可以直接在layout中添加 android:scrollbars="none" 来设置不显示滚动条,如下:


1
2
3
4
5
6

    <WebView
        android:id="@ id/wv"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@drawable/bg"
        android:scrollbars="none" />



7.重写shouldOverrideUrlLoading时指定url

指定只有url里包含eoe.cn的时候才在webview里打开,否则还是启动浏览器打开.


1
2
3
4
5
6
7
8
9
10
11
12

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
    LogUtil.i(this, "url="   url);
    if ( url.contains("eoe.cn") == true){
        view.loadUrl(url);
        return true;
    }else{
        Intent in = new Intent (Intent.ACTION_VIEW , Uri.parse(url));
        startActivity(in);
        return true;
    }
}



8.android:scrollbarStyle控制滚动条位置

WebView有一个设置滚动条位置的属性:android:scrollbarStyle 可以是insideOverlay可以是outsideOverlay,两个的区别是SCROLLBARS_INSIDE_OVERLAY的样式是滚动条在整个page里,类似css中的padding,看代码下的这个图吧,很清晰.


1
2

//mWebView.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY);
mWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);



转自:
原文作者: iceskysl

原文地址: http://my.eoe.cn/iceskysl/archive/1028.html
分享到:
评论

相关推荐

    X5WebViewDemo

    在实践中,X5WebView可以大大提高移动应用的网页展示效果,但同时也需要开发者具备一定的Web技术和Android开发经验,以便更好地利用其特性并处理可能出现的问题。 **案例分析:MyX5WebView** 在提供的"MyX5WebView...

    AndroidBTAndroidWebViewSelection(webview选择文字)-IT计算机-毕业设计.zip

    在Android应用中使用WebView,首先需要在布局XML文件中声明WebView,然后在对应的Activity或Fragment中实例化并加载网页。例如: ```xml &lt;WebView android:id="@+id/web_view" android:layout_width="match_...

    android开发资料大全

    最无私的Android资料(书籍+代码)分享[总结] Android中文帮助教程(非常合适新手入门) android程序编写及调试新手入门 大家一起学Android(Windows篇) android入门与提高必看指南 Android入门逆引手册 Android...

    Android创建UI的新思路:用javascript与Activity进行交互

    在Android开发中,传统的UI构建方式通常涉及到XML布局文件、Java或Kotlin代码以及自定义View的使用。然而,随着Web技术的发展,一种新的UI创建思路逐渐被引入——利用JavaScript与Android Activity进行交互,实现更...

    30条android项目开发技巧与经验总结

    以下是一些从标题、描述和标签中提取的30条Android开发技巧与经验总结: 1. **字体大小选择**:对于阅读型文本,如文章,使用`sp`单位以便适应用户字体大小设置;展示型文本,如按钮文本,使用`dp`以保持固定尺寸。...

    WebQQ.zip_android_webqq

    总结来说,“WebQQ.zip_android_webqq”项目涵盖了Android开发的多个方面,包括基本的Android编程、WebView的使用、网络请求、用户认证、系统集成、测试以及应用发布。通过这个项目,开发者可以深入了解Android应用...

    android豆瓣客户端源代码

    总结来说,"android豆瓣客户端源代码"涵盖了Android开发的多个重要方面,包括网络编程、UI设计、数据解析和API使用等。通过深入研究和分析这个项目,开发者不仅可以提升Android开发技能,还能了解到在线阅读应用的...

    Android优秀简历

    ### Android优秀简历知识点总结 #### 一、个人基本信息 - **姓名**:Xxx - **年龄**:25岁 - **户籍**:四川 - **联系方式**: - TEL: (+86)xxxxxx - E-mail: xxxx@126.com - **工作经验**:3年 #### 二、教育...

    android4.4源码 android-19源代码

    总结,Android 4.4源码的学习是一次深入操作系统底层的探索之旅,它涵盖了操作系统、软件工程、硬件交互等多个领域。通过解析和理解源码,开发者不仅可以提升技术水平,还能为优化应用性能、开发定制系统提供有力...

    58同城Android客户端Walle框架演进与实践之路

    描述中提到赵路平在大会上通过PPT形式分享了58同城Android客户端如何逐步演进至使用Walle框架的历程,同时强调了在实践中所积累的经验与方法。本次分享是结合了技术与实际应用,旨在提供给与会者关于在大型互联网...

    android精典练习4

    【标题】"Android经典练习4"是一系列针对中高级Android开发者设计的实践项目,旨在提升开发者在Android平台上的技能和经验。这些练习涵盖了多个关键领域,包括网络通信、多媒体处理和用户界面设计。 【描述】提到,...

    Android应用源码-浏览器.rar

    总结起来,这个Android浏览器源码项目涵盖了WebView的使用、页面操作、文件下载管理、第三方应用下载接口集成以及应用的生命周期管理等多个核心知识点。对于学习Android开发尤其是浏览器应用开发的初学者来说,这是...

    android-sdk-windows-18

    8. **WebView更新**:Android 4.3中的WebView基于Chromium内核,提高了网页加载速度和兼容性,对于开发混合应用的开发者尤其重要。 9. **安全与隐私**:Android 4.3加强了数据加密和安全措施,开发者需遵守相关规定...

    Expert Android Studio pdf 0分

    - **远程调试**:利用 Chrome DevTools 远程调试 Android Webview。 #### 10. 第九章:使用 Git 进行源代码控制 - **主要内容**:讲解如何在 Android 开发中有效运用 Git。 - **关键概念**: - **Git 基础**:...

    Android高级应用源码-ViewPager+Fragment侧滑选项卡,浏览器控件,两次退出.zip

    总结来说,这个项目是一个实用的Android高级应用示例,它涵盖了Android开发中的关键组件和设计模式。无论是初学者还是有经验的开发者,都可以从中获取宝贵的知识,提升自己的技能。通过深入研究和实践,开发者可以更...

    《Android视频教程》第二季源代码和ppt

    4. Web开发:在Android中,Web开发主要是通过WebView组件来实现的,它允许在应用中嵌入网页内容。开发者需要掌握HTML、CSS和JavaScript基础知识,以及与JavaScript交互的方法(如JavaScriptInterface)。此外,还有...

    HTML5开发Android应用程序概述.ppt

    HTML5在Android应用程序开发中的应用已经变得越来越广泛,因为它提供了跨平台的能力,使得开发者可以使用相同的代码库在多个操作系统上创建应用。杨丰盛,一个经验丰富的移动互联网开发者,通过他的著作和分享,强调...

Global site tag (gtag.js) - Google Analytics