WebView的简单使用

17 篇文章 0 订阅
订阅专栏

1.首先看下调用系统的自带浏览器或者自己下载的浏览器


<pre name="code" class="java">Uri uri=Uri.parse(url);//url为你要的链接地址
Intent intent =new Intent(Intent.ACTION_VIEW,Uri);
startActivity(intent);

 

2.若要自己实现一个浏览器,只需要在布局文件中差入WebView即可

<WebView
	android:id="@+id/webView"
	android:layout_width="match_parent"
	android:layout_height="match_parent"
</WebView>

还必须使用loadUrl();方法

webView=(WebView) findViewById(R.id.webView);
webView.loadUrl("http://baidu.com");

并且在清单文件中加入网络访问权限

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

但是如此的话还是会去默认调用系统自带的浏览器


3.要使WebView自己加载效果则必须加入另一个方法去覆盖原始的WebView调用方法


WebViewClient帮助WebView去处理一些页面控制的请求通知

webView.setWebViewClient(new WebViewClient());
如果以上还不行的话,就重写WebViewClient()中的方法
中使其返回值
使用view.loadUrl(url);
True:控制网页在WebView中去打开
flase:控制第三方或系统自带
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {<span style="white-space:pre">	</span>
// TODO Auto-generated method stub
<span style="white-space:pre">		</span>return true;
}

4.在WebView中使用Javascript
启用JavaScript可以通过WebView中带有的WebSetting来启用它
你可以通过getSettings()来获取WebSettings的值,
然后通过setJavaScriptEnabled()来启用JavaScript
WebView webView=(WebView)findViewById(R.id.webview);
WebSetings webSettings=webView.getSettings();
webSettings.setJavaScriptEnabled(true);
//则可以支持JavaScript的脚本语言

5.后退与前进
当你的WebView覆盖URL加载,他会自动生成历史访问记录,你可以通过goBack()
或goForward()向前或向后访问过的站点,否则一旦按了返回键则就直接退出了应用

给人一种很不好的体验

@Override
public boolean onKeyDown(int keyCode,KeyEvent event)
{
	if(keyCode==KeyEvent.KEYCEDE_BACK)
	{
		if(webView.canGoBack())
		{
			webView.goBack();
			return true;
		}
		else
		{
			System.exit(0);//退出程序	
		}
		
	}
	return super.onKeyDown(keyCode,event);

}

7判断页面加载过程
直观显示页面的加载过程
制作进度条给用户以良好的体验效果

private  ProgressDialog dialog;

webView.setWebChromeClient(new WebChromeClient()
		{
			@Override
			public void onProgressChanged(WebView view,int newProgress)
			{
		//newProgress 是1到100的数字,正好从1--100的标识进度条
				if(newProgress==100)
				{//加载完成
					closeProgress();
				}
				else
				{
				     //加载中,打开ProgressDialog
					openProgress(newProgress);
				}
			}
		});

    
private void closeProgress()
    {
    	 if(dialog!=null&&dialog.isShowing())
    	{
    	   dialog.dismiss();
    	  dialog=null;
    	}
    }

    private void openProgress(int newProgress)
    {
    	 if(dialog==null)
    	{
    	    dialog=new ProgressDialog(MainActivity.this);
    	    dialog.setTitle("正在加载");
    	    dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
    	    dialog.setProgress(newProgress);
    	   dialog.show();
    	}
    	else
    	{
    	    dialog.setProgress(newProgress);
    	}
    }


8.WebView缓存的运用
使用WebSettings settings=webView.getSettings();
优先使用缓存
webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
不适用缓存
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);




Avalonia中嵌入网页程序(CefNet)
星火燎猿
04-16 902
Nuget上还有发布了的cefnet库能够用,但是如果后续需要修复cef底层库的一些问题估计就比较麻烦了,因为社区已经不维护了,多方查证没有找到相关代码库为何删除的原因,大家且用且珍惜吧。
WebView使用Demo
06-19
WebView使用 简单WebView使用
Avalonia 如何使用 CefNet 的 WebView
03-14 1324
Avalonia 实现浏览器功能
AvaloniaUI的学习
最新发布
lishuangquan1987的博客
07-25 1226
官方中文文档:https://docs.avaloniaui.net/zh-Hans/docs/welcome。
Avalonia使用CefNet 实现web-browsers(基于CentOS8 Arm64架构)
confused_kitten的博客
01-16 2696
Avalonia使用CefNet 实现web-browsers(基于CentOS8 Arm64架构)
Android UI界面学习之WebView(网络视图)
921800467的专栏
10-05 2031
Android使用WebView来显示网页内容。使用WebView需要下面几个步骤: 1、在Android.manifest中添加访问互联网的权限: 首先要在manifest.main文件中创建一个webview,然后再activity中定义这个webview然后进行一下相关操作。 1、添加权限:AndroidManifest.xml中必须使用许可"android.permission.I
WebView简单使用Demo
06-18
WebView简单使用Demo通常会展示如何在Android应用中加载和展示一个网页,以及一些基本的交互功能。接下来,我们将深入探讨WebView的相关知识点。 1. **WebView的基本使用** - 首先,在布局文件(如`activity_main....
Webview简单使用Demo
09-15
本教程将详细讲解Webview使用方法,并通过一个简单的Demo来帮助理解其核心功能。 1. **Webview的引入与设置** 在AndroidManifest.xml中,我们需要为应用添加Internet权限,因为Webview需要访问网络资源: ```...
Android WebView简单使用
09-01
下面将详细介绍如何在Android应用中简单使用WebView。 首先,我们需要在布局文件(例如`activity.xml`)中添加WebView组件。这可以通过在XML布局中插入以下代码来实现: ```xml <WebView android:id="@+id/...
android 简单webview使用
11-22
本教程将详细介绍如何在Android简单使用WebView。 一、WebView的基本概念 WebViewAndroid SDK中的一个类,继承自ViewGroup,它提供了在Android应用中展示网页的能力。WebView的核心功能包括加载URL、执行...
Avalonia学习(十七)-CEF
jinyuttt的专栏
01-03 1813
今天开始继续Avalonia练习。
BlazorDesktopWPF:带有WPF https的新BlazorWebView
04-16
BlazorDesktopWPF 使用WPF的新BlazorWebView 已在Visual Studio 16.10 Preview 1.0和.Net 6 Preview 3 SDK中进行了测试。 添加Razor组件步骤失败。 错误消息:找不到标识为“ microsoft.aspnetcore.components.razorcomponent”的模板。 我手动添加了Razor组件。
AvaloniaILSpy:基于Avalonia的.NET反编译器(ILSpy的端口)
02-05
AvaloniaILSpy 这是一个跨平台的版本内置。 支持的功能 反编译 分析窗口 搜索类型/方法/属性(子字符串) 基于超链接的类型/方法/属性导航 可通过MEF可扩展性扩展(签出TestPlugin文件夹)。 注意:这与ILSpy插件不兼容。 查看 下载 稳定释放 流血的生成 版 安装程序(对于x 64) 视窗 苹果系统 Linux 如何在Linux上运行: 授予其执行chmod a+x ILSpy 运行./ILSpy 从源构建 带有子模块的克隆存储库: git clone --recurse-submodules 。 运行构建脚本: build.ps1在Windows和.
Android WebView 开发详解(二)
qq_36142139的博客
07-21 137
参考链接:https://blog.csdn.net/typename/article/details/39495409
【小沐学C#】WPF中嵌入web网页控件(WebBrowser、WebView2、CefSharp)
爱看书的小沐
03-25 9425
使用 Windows Presentation Foundation (WPF),你可以创建适用于 Windows 且具有非凡视觉效果的桌面客户端应用程序。WPF 的核心是一个与分辨率无关且基于矢量的呈现引擎,旨在充分利用现代图形硬件。WPF 通过一套完善的应用程序开发功能对该核心进行了扩展,这些功能包括可扩展应用程序标记语言 (XAML)、控件、数据绑定、布局、二维和三维图形、动画、样式、模板、文档、媒体、文本和版式。WPF 属于 .NET,因此可以生成整合 .NET API 其他元素的应用程序。
如何在Linux上启动带有Avalonia UI的DotNetBrowser
TeamDev的博客
10-19 239
今天的视频将展示如何在 Linux 上启动带有 Avalonia UI 的DotNetBrowser。
【WPF跨平台开发Avalonia踩坑记】
weixin_37588550的博客
09-08 8412
今天作为Avalonia框架学习的开篇,简单介绍了一下使用的开发工具及基本流程,实现了Windows,Linux系统的程序运行和简单的操作方法,接下来的文章将介绍Avalonia中与原生wpf不同的地方。
Avalonia中嵌入网页程序CefNet网页输入中文程序崩溃问题
星火燎猿
04-17 299
在 CefTest.Desktop.Program.Main(String[] args) 在 F:\Tmp\Project\AvaloniaTest\CefTest.Desktop\Program.cs 中: 第 59 行。在 Avalonia.Win32.Input.Imm32InputMethod.HandleComposition(IntPtr wParam, IntPtr lParam, UInt32 timestamp)
写文章

热门文章

  • 滑轮选择,WheelView的简单使用 2109
  • 安卓去除标题栏,ActionBar和Notitle 1856
  • 功能代码的封装 1498
  • linux安装安卓开发工具android studio 1205
  • Android高仿微信图片多选功能 1017

分类专栏

  • Android 17篇
  • ubuntu 3篇
  • Java 2篇

最新评论

  • 滑轮选择,WheelView的简单使用

    nai_ba: eeennn

大家在看

  • 代码随想录Day15 动态规划--5 1335
  • 合并RAR分卷压缩包 242
  • Springboot基于Web的景区疫情预警系统设计与实现5170q--程序+源码+数据库+调试部署+开发环境
  • 【RL】元强化学习(MRL)VS 基于迁移学习的强化学习(RL-TL) 595
  • 【C++】模版进阶 717

最新文章

  • Android内存优化 代码和bitmap
  • 功能代码的封装
  • AudioManager的简单使用
2017年1篇
2016年1篇
2015年20篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家郑州佛像玻璃钢雕塑定做厂家好口碑的玻璃钢恐龙雕塑广州花都玻璃钢雕塑舟山玻璃钢陶瓷雕塑公司台州多彩玻璃钢雕塑马鞍山多彩玻璃钢雕塑生产厂家台州玻璃钢陶瓷雕塑厂家儿童玻璃钢卡通雕塑铜陵水果玻璃钢雕塑订做价格长宁区进口玻璃钢雕塑多少钱秦皇岛玻璃钢广场雕塑吉林玻璃钢雕塑企业东莞迎宾玻璃钢雕塑忻州玻璃钢人物雕塑定制漳州园林玻璃钢雕塑哪家好供应信誉好的玻璃钢动物雕塑辽宁玻璃钢雕塑厂家海伦玻璃钢门头雕塑桃子玻璃钢雕塑广东大型玻璃钢雕塑价格佛山玻璃钢情景人物雕塑鹤壁广场玻璃钢彩绘雕塑厂家郑州商场美陈图片商场跨年美陈装饰舟山公园玻璃钢雕塑销售电话西安做玻璃钢雕塑厂家草坪玻璃钢动物模型雕塑玻璃钢人物雕塑哪里有立体玻璃钢雕塑制作过程山东商场美陈供货商香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化