返回列表 发新帖

安卓开发之webview的一些参数

[复制链接]

274

主题

1万

帖子

3万

积分

版主

一个水怪

Rank: 7Rank: 7Rank: 7

金币
9382
好评
143
贡献
2

MT论坛灌水老大MT论坛最佳新人2019-5.1节快乐考神MT论坛侠客MT论坛活跃会员

发表于 2019-11-7 16:20:38 来自手机  | 显示全部楼层 | 阅读模式
本帖最后由 尼斯湖水怪 于 2019-11-7 16:57 编辑

WebSettings用于管理WebView状态配置,当WebView第一次被创建时,WebView包含着一个默认的配置,这些默认的配置将通过get方法返回,通过WebView中的getSettings方法获得一个WebSettings对象,如果一个WebView被销毁,在WebSettings中所有回调方法将抛出IllegalStateException异常。

http://teachcourse.cn/android-webview-websettings

注明一下出处



顺便说明一下我论坛APP为啥没接入x5,我介入下5之后,全屏播放问题和保存账号密码解决了,可是蓝奏云调用下载的时候没反应,而且下载东西的时候还会跳转qq浏览器,如果没有qq浏览器不知道会不会闪退。。而且接入之后体积还会变大虽然说x5优势很大,但是我控制不了他,因此对我一个不会用的人来说,webview还能坚持一下所以我能用webview解决的问题绝不用x5哎,我好难啊,不说了,代码正文如下




  1. setSupportZoom(boolean support)
  2. 设置WebView是否支持使用屏幕控件或手势进行缩放,默认是true,支持缩放。
  3. getSettings.setSupportZoom(false);
  4. setMediaPlaybackRequiresUserGesture(boolean require)
  5. 设置WebView是否通过手势触发播放媒体,默认是true,需要手势触发。
  6. getSettings.setMediaPlaybackRequiresUserGesture(false);
  7. setBuiltInZoomControls(boolean enabled)
  8. 设置WebView是否使用其内置的变焦机制,该机制集合屏幕缩放控件使用,默认是false,不使用内置变焦机制。
  9. getSettings.setBuiltInZoomControls(true);
  10. setDisplayZoomControls(boolean enabled)
  11. 设置WebView使用内置缩放机制时,是否展现在屏幕缩放控件上,默认true,展现在控件上。
  12. getSettings.setDisplayZoomControls(false);
  13. setAllowFileAccess(boolean allow)
  14. 设置在WebView内部是否允许访问文件,默认允许访问。
  15. getSettings.setAllowFileAccess(false);
  16. setAllowContentAccess(boolean allow)
  17. 设置WebView是否使用其内置的变焦机制,该机制结合屏幕缩放控件使用,默认是false,不使用内置变焦机制。
  18. getSettings.setAllowContentAccess(false);
  19. setLoadWithOverviewMode(boolean overview)
  20. 设置WebView是否使用预览模式加载界面。
  21. getSettings.setLoadWithOverviewMode(false);
  22. setSaveFormData(boolean save)
  23. 设置WebView是否保存表单数据,默认true,保存数据。
  24. getSettings.setSaveFormData(false);
  25. setTextZoom(int textZoom)
  26. 设置WebView中加载页面字体变焦百分比,默认100,整型数。
  27. getSettings.setTextZoom(100);
  28. setAcceptThirdPartyCookies(boolean accept)
  29. 设置WebView访问第三方Cookies策略,参考CookieManager提供的方法:setShouldAcceptThirdPartyCookies。
  30. getSettings.setAcceptThirdPartyCookies(false);
  31. setUseWideViewPort(boolean use)
  32. 设置WebView是否使用viewport,当该属性被设置为false时,加载页面的宽度总是适应WebView控件宽度;当被设置为true,当前页面包含viewport属性标签,在标签中指定宽度值生效,如果页面不包含viewport标签,无法提供一个宽度值,这个时候该方法将被使用。
  33. getSettings.setUseWideViewPort(false);
  34. setSupportMultipleWindows(boolean support)
  35. 设置WebView是否支持多屏窗口,参考WebChromeClient#onCreateWindow,默认false,不支持。
  36. getSettings.setSupportMultipleWindows(true);
  37. setLayoutAlgorithm(LayoutAlgorithm l)
  38. 设置WebView底层的布局算法,参考LayoutAlgorithm#NARROW_COLUMNS,将会重新生成WebView布局
  39. getSettings.setLayoutAlgorithm(LayoutAlgorithm l);
  40. setStandardFontFamily(String font)
  41. 设置WebView标准字体库字体,默认字体“sans-serif”。
  42. getSettings.setStandardFontFamily("sans-serif");
  43. setFixedFontFamily(String font)
  44. 设置WebView固定的字体库字体,默认“monospace”。
  45. getSettings.setFixedFontFamily("monospace");
  46. setSansSerifFontFamily(String font)
  47. 设置WebView Sans SeriFontFamily字体库字体,默认“sans-serif”。
  48. getSettings.setSansSerifFontFamily("sans-serif");
  49. setSerifFontFamily(String font)
  50. 设置WebView seri FontFamily字体库字体,默认“sans-serif”。
  51. getSettings.setSansSerifFontFamily("sans-serif");
  52. setCursiveFontFamily(String font)
  53. 设置WebView字体库字体,默认“cursive”
  54. getSettings.setCursiveFontFamily("cursive");
  55. setFantasyFontFamily(String font)
  56. 设置WebView字体库字体,默认“fantasy”。
  57. getSettings.setFantasyFontFamily("fantasy");
  58. setMinimumFontSize(int size)
  59. 设置WebView字体最小值,默认值8,取值1到72
  60. getSettings.setMinimumFontSize(8);
  61. setMinimumLogicalFontSize(int size)
  62. 设置WebView逻辑上最小字体值,默认值8,取值1到72
  63. getSettings.setMinimumLogicalFontSize(8);
  64. setDefaultFontSize(int size)
  65. 设置WebView默认值字体值,默认值16,取值1到72
  66. getSettings.setDefaultFontSize(16);
  67. setDefaultFixedFontSize(int size)
  68. 设置WebView默认固定的字体值,默认值16,取值1到72
  69. getSettings.setDefaultFixedFontSize(16);
  70. setLoadsImagesAutomatically(boolean flag)
  71. 设置WebView是否加载图片资源,默认true,自动加载图片
  72. getSettings.setLoadsImagesAutomatically(false);
  73. setBlockNetworkImage(boolean flag)
  74. 设置WebView是否以http、https方式访问从网络加载图片资源,默认false
  75. getSettings.setBlockNetworkImage(true);
  76. setBlockNetworkLoads(boolean flag)
  77. 设置WebView是否从网络加载资源,Application需要设置访问网络权限,否则报异常
  78. getSettings.setBlockNetworkLoads(true);
  79. setJavaScriptEnabled(boolean flag)
  80. 设置WebView是否允许执行JavaScript脚本,默认false,不允许
  81. getSettings.setJavaScriptEnabled(true);
  82. setAllowUniversalAccessFromFileURLs(boolean flag)
  83. 设置WebView运行中的脚本可以是否访问任何原始起点内容,默认true
  84. getSettings.setAllowUniversalAccessFromFileURLs(false);
  85. setAllowFileAccessFromFileURLs(boolean flag)
  86. 设置WebView运行中的一个文件方案被允许访问其他文件方案中的内容,默认值true
  87. getSettings.setAllowFileAccessFromFileURLs(false);
  88. setGeolocationDatabasePath(String databasePath)
  89. 设置WebView保存地理位置信息数据路径,指定的路径Application具备写入权限
  90. getSettings.setGeolocationDatabasePath(String path);
  91. setAppCacheEnabled(boolean flag)
  92. 设置Application缓存API是否开启,默认false,设置有效的缓存路径参考setAppCachePath(String path)方法
  93. getSettings.setAppCacheEnabled(true);
  94. setAppCachePath(String appCachePath)
  95. 设置当前Application缓存文件路径,Application Cache API能够开启需要指定Application具备写入权限的路径
  96. getSettings.setAppCachePath(String appCachePath);
  97. setDatabaseEnabled(boolean flag)
  98. 设置是否开启数据库存储API权限,默认false,未开启,可以参考setDatabasePath(String path)
  99. getSettings.setDatabaseEnabled(false);
  100. setDomStorageEnabled(boolean flag)
  101. 设置是否开启DOM存储API权限,默认false,未开启,设置为true,WebView能够使用DOM storage API
  102. getSettings.setDomStorageEnabled(true);
  103. setGeolocationEnabled(boolean flag)
  104. 设置是否开启定位功能,默认true,开启定位
  105. getSettings.setGeolocationEnabled(false);
  106. setJavaScriptCanOpenWindowsAutomatically(boolean flag)
  107. 设置脚本是否允许自动打开弹窗,默认false,不允许
  108. getSettings.setJavaScriptCanOpenWindowsAutomatically(true);
  109. setDefaultTextEncodingName(String encoding)
  110. 设置WebView加载页面文本内容的编码,默认“UTF-8”。
  111. getSettings.setDefaultTextEncodingName("UTF-8");
  112. setUserAgentString(String ua)
  113. 设置WebView代理字符串,如果String为null或为空,将使用系统默认值
  114. getSettings.setUserAgentString(String ua);
  115. setNeedInitialFocus(boolean flag)
  116. 设置WebView是否需要设置一个节点获取焦点当被回调的时候,默认true
  117. getSettings.setNeedInitialFocus(false);
  118. setCacheMode(int mode)
  119. 重写缓存被使用到的方法,该方法基于Navigation Type,加载普通的页面,将会检查缓存同时重新验证是否需要加载,如果不需要重新加载,将直接从缓存读取数据,允许客户端通过指定LOAD_DEFAULT、LOAD_CACHE_ELSE_NETWORK、LOAD_NO_CACHE、LOAD_CACHE_ONLY其中之一重写该行为方法,默认值LOAD_DEFAULT
  120. getSettings.setCacheMode(WebSettings.LOAD_DEFAULT);
  121. setMixedContentMode(int mode)
  122. 设置当一个安全站点企图加载来自一个不安全站点资源时WebView的行为,android.os.Build.VERSION_CODES.KITKAT默认为MIXED_CONTENT_ALWAYS_ALLOW,android.os.Build.VERSION_CODES#LOLLIPOP默认为MIXED_CONTENT_NEVER_ALLOW,取值其中之一:MIXED_CONTENT_NEVER_ALLOW、MIXED_CONTENT_ALWAYS_ALLOW、MIXED_CONTENT_COMPATIBILITY_MODE.
  123. getSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_COMPATIBILITY_MODE);
复制代码


已有2人评分金币 理由
梦__玩 + 1
userr + 1

查看全部评分 总评分:金币 +2 

没有QQ没有微信没有支付宝
回复

使用道具 举报

274

主题

1万

帖子

3万

积分

版主

一个水怪

Rank: 7Rank: 7Rank: 7

金币
9382
好评
143
贡献
2

MT论坛灌水老大MT论坛最佳新人2019-5.1节快乐考神MT论坛侠客MT论坛活跃会员

发表于 2019-11-7 16:20:49 来自手机  | 显示全部楼层
沙发
回复

使用道具 举报

28

主题

5192

帖子

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
3841
好评
38
贡献
0

考神

发表于 2019-11-7 16:24:07 来自手机  | 显示全部楼层
学习一下
回复

使用道具 举报

0

主题

56

帖子

220

积分

初中生

Rank: 3Rank: 3

金币
105
好评
0
贡献
1
发表于 2019-11-7 16:26:35 来自手机  | 显示全部楼层
学习一下
回复

使用道具 举报

98

主题

2369

帖子

4876

积分

大学生

重生大魔王

Rank: 5Rank: 5

金币
1617
好评
1
贡献
0
发表于 2019-11-7 16:34:42 来自手机  | 显示全部楼层
路过看看
回复

使用道具 举报

52

主题

2450

帖子

1万

积分

版主

Rank: 7Rank: 7Rank: 7

金币
4210
好评
26
贡献
4

2018国庆快乐MT论坛大神MT论坛最佳新人2018国庆节MT论坛帅哥2019-5.1节快乐考神MT论坛活跃会员

发表于 2019-11-7 17:05:40 来自手机  | 显示全部楼层
一脸懵。
回复

使用道具 举报

1

主题

681

帖子

6339

积分

硕士生

Rank: 6Rank: 6

金币
521
好评
1
贡献
0

考神MT论坛最佳新人MT论坛帅哥

发表于 2019-11-7 17:14:25 来自手机  | 显示全部楼层
看不懂系列
回复

使用道具 举报

42

主题

643

帖子

2908

积分

大学生

大宇宙

Rank: 5Rank: 5

金币
163
好评
40
贡献
3

MT论坛帅哥考神MT论坛最佳新人MT论坛活跃会员

QQ
发表于 2019-11-7 17:26:19 来自手机  | 显示全部楼层
路过帮
回复

使用道具 举报

17

主题

437

帖子

2367

积分

大学生

Rank: 5Rank: 5

金币
403
好评
3
贡献
0
发表于 2019-11-7 18:06:26 来自手机  | 显示全部楼层
顶贴支持楼主!
回复

使用道具 举报

6

主题

1056

帖子

2876

积分

大学生

Rank: 5Rank: 5

金币
22
好评
4
贡献
0

考神MT论坛最佳新人

发表于 2019-11-7 18:28:47 来自手机  | 显示全部楼层
看不懂
回复

使用道具 举报

0

主题

23

帖子

92

积分

小学生

Rank: 2

金币
35
好评
0
贡献
0
发表于 2019-11-8 08:35:07 来自手机  | 显示全部楼层
看不懂
回复

使用道具 举报

2

主题

203

帖子

656

积分

初中生

Rank: 3Rank: 3

金币
102
好评
4
贡献
0
QQ
发表于 2019-11-9 12:20:00 来自手机  | 显示全部楼层
楼楼我可以请教一些问题吗?,除了setProperty可以设置webview代理还有什么方法能够实现用setProperty方法设置后不能更换也不能取消
回复

使用道具 举报

274

主题

1万

帖子

3万

积分

版主

一个水怪

Rank: 7Rank: 7Rank: 7

金币
9382
好评
143
贡献
2

MT论坛灌水老大MT论坛最佳新人2019-5.1节快乐考神MT论坛侠客MT论坛活跃会员

发表于 2019-11-9 12:44:53 来自手机  | 显示全部楼层
pipchu 发表于 2019-11-9 12:20
楼楼我可以请教一些问题吗?,除了setProperty可以设置webview代理还有什么方法能够实现用setPropert ...

这我不清楚,没查到
回复

使用道具 举报

0

主题

180

帖子

386

积分

初中生

Rank: 3Rank: 3

金币
155
好评
0
贡献
0
发表于 2019-11-10 19:41:37 来自手机  | 显示全部楼层
谢谢分享!
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表