Android中Webview使用经验总结
很早前就喜欢在Android中使用Webview组件结合JS来做应用,总结了一些不错的小经验,在这里持续更新,自己备忘,也希望给其他需要的同学一些参考~
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 |
// To handle the back button key press |
6.设置android WebView 不显示滚动条
可以直接在layout中添加 android:scrollbars="none" 来设置不显示滚动条,如下:
1 |
<WebView |
7.重写shouldOverrideUrlLoading时指定url
指定只有url里包含eoe.cn的时候才在webview里打开,否则还是启动浏览器打开.
1 |
@Override |
8.android:scrollbarStyle控制滚动条位置
WebView有一个设置滚动条位置的属性:android:scrollbarStyle 可以是insideOverlay可以是outsideOverlay,两个的区别是SCROLLBARS_INSIDE_OVERLAY的样式是滚动条 在整个page里,类似css中的padding,看代码下的这个图吧,很清晰.
1 |
//mWebView.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY); |
Android中Webview使用经验总结的更多相关文章
- Android中webView和网页的交互
Android中webView和网页的交互 Android中webView跟网页的交互式通过JavaScript进行的.具体步骤: 1.创建JavaScript,在点击的时候调用JavaScript ...
- Android中WebView的JavaScript代码和本地代码交互的三种方式
一.Android中WebView的漏洞分析最近在开发过程中遇到一个问题,就是WebView使用的时候,还是需要解决之前系统(4.2之前)导致的一个漏洞,虽然现在这个系统版本用户很少了,但是也不能忽视 ...
- Android 中Webview 自适应屏幕
随笔 - 478 文章 - 3 评论 - 113 Android 中Webview 自适应屏幕 webview中右下角的缩放按钮能不能去掉 settings.setDisplayZoomCon ...
- android 中webview的屏幕适配问题
两行代码解决WebView的屏幕适配问题 一个简单的方法,让网页快速适应手机屏幕,代码如下 1 2 WebSettings webSettings= webView.getSettings(); we ...
- Android中webview和js之间的交互(转)
http://www.cnblogs.com/leizhenzi/archive/2011/06/29/2093636.html 1.android中利用webview调用网页上的js代码. Andr ...
- Android中Webview使用自定义的javascript进行回调
先说为什么需要讨论这个问题. 现在很多的手机应用,都可能会直接嵌入一个web页面.这样做的好处:一个是功能更新方便,维护起来容易,只需要维护服务器的页面即可,不需要更新客户端:另一个是功能通用,不仅a ...
- Android中webView的基础使用(一)
WebView是View的一个子类,可以让你在activity中显示网页. 可以在布局文件中写入WebView:比如下面这个写了一个填满整个屏幕的WebView: <?xml version=& ...
- android 中webview调用js
1.android中利用webview调用网页上的js代码. Android 中可以通过webview来实现和js的交互,在程序中调用js代码,只需要将webview控件的支持js的属性设置为true ...
- Android中webview跟JAVASCRIPT中的交互
在android的应用程序中,可以直接调用webview中的javascript代码,而webview中的javascript代码,也可以去调用ANDROID应用程序(也就是JAVA部分的代码).下面 ...
随机推荐
- DAS NAS SAN
UNIX LINUX WINDOWS 等服务器的存储主要有两种方式DAS或者是FAS.DAS direct attached storage. 直连存储,服务器和存储直接连接.FAS,fabric-a ...
- 【RefactoringCode】The description of the refactoring book
Last night the book named [Data Structure with Java Hubbed] was closed. When talked about the advant ...
- Powershell远程在Azure A7虚拟机执行Java JVM失败
近期.使用Powershell脚本在A7 (8核,56G内存)配置的 Azure VM(Virtual Machine.虚拟机)上远程运行Java JVM时 (java.exe -version).总 ...
- 一次次迭代 百度语音生成 api 字幕 语音的同步性 关键
发音字符 数一样 D:\myv\semHAND9myuid1523961381.avi 0.7053863117786668 --------------- 深圳市雅超服饰有限公司是一家专业设计制作高 ...
- ALSA声卡驱动中的DAPM详解之二:widget-具备路径和电源管理信息的kcontrol
上一篇文章中,我们介绍了音频驱动中对基本控制单元的封装:kcontrol.利用kcontrol,我们可以完成对音频系统中的mixer,mux,音量控制,音效控制,以及各种开关量的控制,通过对各种kco ...
- tiny4412 裸机程序 七、重定位代码到DRAM【转】
本文转载自:http://blog.csdn.net/eshing/article/details/37116637 一.关于DRAM 上一章我们讲解了如何对代码进行重定位,但是将代码重定位到只有25 ...
- 转载:C语言的字节对齐及#pragma pack的使用
C语言的字节对齐及#pragma pack的使用 C编译器的缺省字节对齐方式(自然对界) 在缺省情况下,C编译器为每一个变量或是数据单元按其自然对界条件分配空间. 在结构中,编译器为结构的每个成员 ...
- SQL使用IN参量不能超过1000的表现形式以及解决办法
如果出现这个错误说明你传的参量是超过了一千个值:列如,你拼接了1001个id: 如何解决那,我这里提供两种方法: 1.每1000条加一个or in 列: 原:select p.* from t_pre ...
- [转载]马士兵Java视频教程 —— 学习顺序
书(Java核心编程)+视频..这样学感觉比较好.. 原文地址:马士兵Java视频教程 —— 学习顺序作者:习惯 第一部分:J2se学习视频内容包括: 尚学堂科技_马士兵_JAVA视频教程_JDK5. ...
- Unity项目 - 打砖块游戏
基本功能:实现WASD进行视角在XY轴方向的移动,其次按下鼠标左键产生子弹bullet对面前的砖块cube进行碰撞. 主界面: 运行情况: 动态过程: 项目地址:BreakBricks 制作过程: 创 ...