android webView 的WebSettings说明,android开发环境搭建步骤

本文详细介绍了Android WebView的WebSettings各项设置,包括JavaScript执行、DOM存储、定位服务、图片加载等,并讨论了开发环境的搭建步骤。同时,提供了Android大厂面试真题和必备知识点,帮助开发者提升技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. setDomStorageEnabled (boolean flag)

DOM存储API是否可用,默认false。

  1. setEnableSmoothTransition (boolean enable)

已废弃,将来会成为空操作(no-op),设置当panning或者缩放或者持有当前WebView的window没有焦点时是否允许其光滑过渡,若为true,WebView会选择一个性能最大化的解决方案。例如过渡时WebView的内容可能不更新。若为false,WebView会保持精度(fidelity),默认值false。

  1. setFantasyFontFamily (String font)

设置fantasy字体集(font family)的名字默认为“fantasy”

  1. setFixedFontFamily (String font)

设置固定的字体集的名字,默认为”monospace”。

  1. setGeolocationDatabasePath (String databasePath)

定位数据库的保存路径,为了确保定位权限和缓存位置的持久化,该方法应该传入一个应用可写的路径。

  1. setGeolocationEnabled (boolean flag)

定位是否可用,默认为true。请注意,为了确保定位API在WebView的页面中可用,必须遵守如下约定:

(1) app必须有定位的权限,参见ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION;

(2) app必须提供onGeolocationPermissionsShowPrompt(String, GeolocationPermissions.Callback)回调方法的实现,在页面通过JavaScript定位API请求定位时接收通知。

作为可选项,可以在数据库中存储历史位置和Web初始权限,参见setGeolocationDatabasePath(String).

  1. setJavaScriptCanOpenWindowsAutomatically (boolean flag)

让JavaScript自动打开窗口,默认false。适用于JavaScript方法window.open()。

  1. setJavaScriptEnabled (boolean flag)

设置WebView是否允许执行JavaScript脚本,默认false,不允许。

  1. setLayoutAlgorithm (WebSettings.LayoutAlgorithm l)

设置布局,会引起WebView的重新布局(relayout),默认值NARROW_COLUMNS

  1. setLightTouchEnabled (boolean enabled)

已废弃。从 JELLY_BEAN 开始,该设置无效。允许使用轻触摸做出选择和光标悬停。

  1. setLoadWithOverviewMode (boolean overview)

是否允许WebView度超出以概览的方式载入页面,默认false。即缩小内容以适应屏幕宽度。该项设置在内容宽度超出WebView控件的宽度时生效,例如当getUseWideViewPort() 返回true时。

  1. setLoadsImagesAutomatically (boolean flag)

WebView是否下载图片资源,默认为true。注意,该方法控制所有图片的下载,包括使用URI嵌入的图片(使用setBlockNetworkImage(boolean) 只控制使用网络URI的图片的下载)。如果该设置项的值由false变为true,WebView展示的内容所引用的所有的图片资源将自动下载。

  1. setMediaPlaybackRequiresUserGesture (boolean require)

WebView是否需要用户的手势进行媒体播放,默认值为true。

  1. setMinimumFontSize (int size)

设置最小的字号,默认为8

  1. setMinimumLogicalFontSize (int size)

设置最小的本地字号,默认为8。

  1. setMixedContentMode (int mode)

当一个安全的来源(origin)试图从一个不安全的来源加载资源时配置WebView的行为。默认情况下,KITKAT及更低版本默认值为MIXED_CONTENT_ALWAYS_ALLOW,LOLLIPOP版本默认值MIXED_CONTENT_NEVER_ALLOW,WebView首选的最安全的操作模式为MIXED_CONTENT_NEVER_ALLOW ,不鼓励使用MIXED_CONTENT_ALWAYS_ALLOW。

  1. setNeedInitialFocus (boolean flag)

调用requestFocus(int, Android.graphics.Rect)时是否需要设置节点获取焦点,默认值为true。

  1. setOffscreenPreRaster (boolean enabled)

当WebView切换到后台但仍然与窗口关联时是否raster tiles,打开它可以避免在WebView从后台切换到前台时重新绘制,默认值false。在这种模式下后台的WebView占用更多的内存。请按如下准则显示内存的使用:

WebView的尺寸不能比设备的屏幕尺寸更大;

限制在少数WebView上使用该模式;

在可见的WebView和即将显现的WebView上使用;

  1. setPluginState (WebSettings.PluginState state)

在API18以上已废弃。未来将不支持插件,不要使用。告诉WebView启用、禁用或者有即用(on demand)的插件,即用模式是指如果存在一个可以处理嵌入内容的插件,会显示一个占位图标,点击时开启。默认值OFF。

  1. setRenderPriority (WebSettings.RenderPriority priority)

在API18以上已废弃。不建议调整线程优先级,未来版本不会支持这样做。设置绘制(Render,很多书上翻译成渲染,貌似很专业,但是不易懂,不敢苟同)线程的优先级。不像其他设置,同一进程中只需调用一次,默认值NORMAL。

  1. setSansSerifFontFamily (String font)

设置无衬线字体集(sans-serif font family)的名字。默认值”sans-serif”.

  1. setSaveFormData (boolean save)

WebView是否保存表单数据,默认值true。

  1. setSavePassword (boolean save)

API18以上版本已废弃。未来版本将不支持保存WebView中的密码。设置WebView是否保存密码,默认true。

  1. setSerifFontFamily (String font)

设置衬线字体集(serif font family)的名字,默认“sans-serif”。

  1. setStandardFontFamily (String font)

设置标准字体集的名字,默认值“sans-serif”。

  1. setSupportMultipleWindows (boolean support)

设置WebView是否支持多窗口。如果设置为true,主程序要实现onCreateWindow(WebView, boolean, boolean, Message),默认false。

  1. setSupportZoom (boolean support)

WebView是否支持使用屏幕上的缩放控件和手势进行缩放,默认值true。设置setBuiltInZoomControls(boolean)可以使用特殊的缩放机制。该项设置不会影响zoomIn() and zoomOut()的缩放操作。

  1. setTextSize (WebSettings.TextSize t)

API14版本以上已废弃。请取代使用setTextZoom(int)。设置页面文本的尺寸,默认NORMAL。

  1. setTextZoom (int textZoom)

设置页面上的文本缩放百分比,默认100。

  1. setUseWideViewPort (boolean use)

WebView是否支持HTML的“viewport”标签或者使用wide viewport。设置值为true时,布局的宽度总是与WebView控件上的设备无关像素(device-dependent pixels)宽度一致。当值为true且页面包含viewport标记,将使用标签指定的宽度。如果页面不包含标签或者标签没有提供宽度,那就使用wide viewport。

  1. setUserAgentString (String ua)

设置WebView的用户代理字符串。如果字符串为null或者empty,将使用系统默认值。注意从KITKAT版本开始,加载网页时改变用户代理会让WebView再次初始化加载。

最后

答应大伙的备战金三银四,大厂面试真题来啦!

这份资料我从春招开始,就会将各博客、论坛。网站上等优质的Android开发中高级面试题收集起来,然后全网寻找最优的解答方案。每一道面试题都是百分百的大厂面经真题+最优解答。包知识脉络 + 诸多细节。
节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
给文章留个小赞,就可以免费领取啦~

戳我领取:3000页Android开发者架构师核心知识笔记

《960全网最全Android开发笔记》

《379页Android开发面试宝典》

包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。

如何使用它?
1.可以通过目录索引直接翻看需要的知识点,查漏补缺。
2.五角星数表示面试问到的频率,代表重要推荐指数

《507页Android开发相关源码解析》

只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。

真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。

腾讯、字节跳动、阿里、百度等BAT大厂 2020-2021面试真题解析

资料收集不易,如果大家喜欢这篇文章,或者对你有帮助不妨多多点赞转发关注哦。文章会持续更新的。绝对干货!!!

ndroid,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。

真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。

[外链图片转存中…(img-XAegR1HB-1644027277743)]

腾讯、字节跳动、阿里、百度等BAT大厂 2020-2021面试真题解析

[外链图片转存中…(img-4NK8OChB-1644027277745)]

资料收集不易,如果大家喜欢这篇文章,或者对你有帮助不妨多多点赞转发关注哦。文章会持续更新的。绝对干货!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值