android浏览器开发小技巧集锦

android浏览器开发小技巧集锦本人和朋友们做了一段时间浏览器,将一些小技巧分享出来,先写一部分,慢慢写,同时也为我们的浏览器打打广告我们的浏览器将要上线,名叫沙发浏览1.网页内的右键菜单publicbooleanonLongClick(Viewview){ //获取点击的元素 HitTestResultmResult=mWebView.getHitTestResult(); fin

大家好,又见面了,我是你们的朋友全栈君。

本人和朋友们做了一段时间浏览器,将一些小技巧分享出来,先写一部分,慢慢写,同时也为我们的浏览器打打广告

我们的浏览器将要上线,名叫沙发浏览

1.网页内的右键菜单

android浏览器开发小技巧集锦

public boolean onLongClick(View view) {
		// 获取点击的元素
		HitTestResult mResult = mWebView.getHitTestResult();

		final int type = mResult.getType();
		switch (type) {
			case HitTestResult.ANCHOR_TYPE:
			case HitTestResult.SRC_ANCHOR_TYPE:
				//点击的是链接
				break;

			case HitTestResult.IMAGE_TYPE:
			case HitTestResult.IMAGE_ANCHOR_TYPE:
			case HitTestResult.SRC_IMAGE_ANCHOR_TYPE:
				//点击的是图片
				break;

			default:
				//点击的是空白处
				break;
		}
		return true;
	}

根据是图片还是链接还是空白做判断

2.网页内的自由复制

转载请注明出处:http://blog.csdn.net/ethan_xue/article/details/7748075

android浏览器开发小技巧集锦

/**
	 * 网页里 复制粘贴
	 * @param view webView
	 * @author ethan
	 */
	private void emulateShiftHeld(KeyEvent.Callback view)
	{
		try
		{
			KeyEvent shiftPressEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN,
					KeyEvent.KEYCODE_SHIFT_LEFT, 0, 0);
			shiftPressEvent.dispatch(view);
		} catch (Exception e)
		{
		}
	}

3.出错界面

webkit自带的出错界面不够霸气,于是改为自己做的出错界面

new WebViewClient()
...此为背景
@Override
		public void onReceivedError(WebView view, int errorCode,
				String description, String failingUrl) {
			view.stopLoading();
			view.clearView();

			// 显示出错界面
			mWebView.loadUrl("file:///android_asset/error.html");
		}

4.点外部链接调用自己的浏览器

在manifest.xml里主activity加入intent

<!-- For these schemes were not particular MIME type has been                  supplied, we are a good candidate. -->             <intent-filter>                 <action android:name="android.intent.action.VIEW" />                 <category android:name="android.intent.category.DEFAULT" />                 <category android:name="android.intent.category.BROWSABLE" />                 <data android:scheme="http" />                 <data android:scheme="https" />                 <data android:scheme="about" />                 <data android:scheme="javascript" />             </intent-filter>             <!--  For these schemes where any of these particular MIME types                   have been supplied, we are a good candidate. -->             <intent-filter>                 <action android:name="android.intent.action.VIEW" />                 <category android:name="android.intent.category.BROWSABLE" />                 <category android:name="android.intent.category.DEFAULT" />                 <data android:scheme="http" />                 <data android:scheme="https" />                 <data android:scheme="inline" />                 <data android:mimeType="text/html"/>                 <data android:mimeType="text/plain"/>                 <data android:mimeType="application/xhtml+xml"/>                 <data android:mimeType="application/vnd.wap.xhtml+xml"/>             </intent-filter>                 <action android:name="android.intent.action.VIEW" />                 <category android:name="android.intent.category.DEFAULT" />                 <category android:name="android.intent.category.BROWSABLE" />                 <data android:scheme="file" />             </intent-filter>

外部调用就ok了,连file文件都能调用,若自己调用的话

Uri uri = Uri.parse("file://data/data/test.html");
//   Uri uri = Uri.parse("http://m.baidu.com");     
  Intent it = new Intent(Intent.ACTION_VIEW, uri);        
  context.startActivity(it);     


android浏览器开发小技巧集锦

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/146453.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月15日 上午9:00
下一篇 2022年5月15日 上午9:00


相关推荐

  • Excel2016如何固定表头,如何使前两行保持在最前端

    Excel2016如何固定表头,如何使前两行保持在最前端excel 固定表头很简单 只需要视图 冻结窗格 冻结首行 冻结首列与之类似那么如何使前两行保持在最前端 也就是冻结前两行 如果按照步骤选中前两行 点击冻结窗格 会自动冻结 1 行 也就是第三行 这种情况无法满足我们的需求由此 这个时候我们可以选中第三行 选择冻结窗格 那么前两行就被冻结了 始终保持在最前端想让前 n 行保持在最前端 就选中第 n 1 行 选择冻结窗格 对于列操作与此一样

    2026年3月18日
    2
  • 微信小程序点击按钮弹出弹窗_微信小程序弹窗,微信小程序页面跳转、弹出框…

    微信小程序点击按钮弹出弹窗_微信小程序弹窗,微信小程序页面跳转、弹出框…微信小程序弹窗 微信小程序页面跳转 弹出框浏览量 2396 时间 2019 12 09 来源 Reyon 一 页面跳转页面跳转是微信小程序中使用较为频繁并且很重要的功能之一 页面跳转一般是通过点击按钮或者文本区域后需要进行的操作 页面跳转中需要注意的点很多 我在这就介绍一些我在写项目过程中所遇到的一些情况里的跳转方式 1 一般情况一般情况下 在点击了按钮或文本之后 跳转到另一个页面 wxmlbutt

    2026年3月16日
    3
  • json转化为字符串

    json转化为字符串1 将 json 转化为字符串 nbsp varjsonStr JSON stringify obj 2 将字符串转化为 json 对象 varbToObj JSON parse b jQuery parseJSON json varc name TOM sex 女 age 29 varjsonObj eval c

    2026年3月17日
    3
  • css实现导航菜单下拉效果「建议收藏」

    css实现导航菜单下拉效果「建议收藏」通过css也可以实现简单的导航栏效果,一些不会写js的下伙伴不用担心了。先上HTML部分&lt;nav&gt;&lt;ulclass="level"&gt;&lt;li&gt;&lt;ahref=""&gt;首页&lt;/a&gt;&lt;/li&gt;&lt;li&gt;

    2022年7月26日
    18
  • 网易我的世界下的服务器目录在哪个文件夹,网易我的世界手机版存档导出在哪个文件夹 | 手游网游页游攻略大全…

    网易我的世界下的服务器目录在哪个文件夹,网易我的世界手机版存档导出在哪个文件夹 | 手游网游页游攻略大全…

    2021年8月16日
    264
  • vim怎么高亮显示_vim配置教程

    vim怎么高亮显示_vim配置教程经常使用SecureCRT在linux下修改一些配置文件,使用vi打开总是一个颜色,找起来比较头大。因为vi不支持高亮,所以需要使用vim。安装vim:yuminstall-yvim(ubuntu使用apt-get)全局(所有用户)vim配置文件路径:/etc/vimrc当前用户vim配置文件路径:~/.vimrc如果存在该文件,则备份一下,以免以后找不到。在vimrc文件中输入:synta…

    2026年4月18日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号