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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 在微型计算机中1mb等于多少字节,1mb等于多少字节「建议收藏」

    在微型计算机中1mb等于多少字节,1mb等于多少字节「建议收藏」1MB等于2^20字节。MB,全称“MByte”,计算机中的一种储存单位。字节是计算机信息技术用于计量存储容量的一种计量单位,作为一个单位来处理的一个二进制数字串,是构成信息的一个小单位。本教程操作环境:windows7系统、DellG3电脑。1MB等于2^20字节。1MB=1024KB=2^20B。1、字节(Byte)是计算机信息技术用于计量存储容量的一种计量单位,作为一个单位来处理的一…

    2022年5月26日
    44
  • Java 介绍

    1 Java 介绍 Java的历史 Java的历史非常有趣。 Java最初是为交互式电视而设计的,但是对于当时的数字有线电视行业来说,它是太先进的技术。 Java的历史始于绿色团队…

    2022年1月24日
    49
  • MyBatis面试题总结「建议收藏」

    MyBatis面试题总结「建议收藏」啃下MyBatis源码-MyBatis面试题总结1.概念/使用方法向的问题1.1什么是Mybatis?1.2为什么说Mybatis是半ORM框架?/与Hibernate有哪些不同?1.3Mybaits的优点?1.4MyBatis框架的缺点?1.5#{}和${}的区别?1.6怎么解决实体类中的属性名和表中的字段名不一样的问题?1.7在mapper中如何传递多个参数?…

    2022年6月11日
    26
  • 定时备份数据库的存储过程.sql

    定时备份数据库的存储过程.sql

    2021年4月25日
    143
  • 面试/笔试第一弹 —— 计算机网络面试问题集锦

    面试/笔试第一弹 —— 计算机网络面试问题集锦本文对面试/笔试过程中经常会被问到的一些关于计算机网络的问题进行了梳理和总结,一方面方便自己温故知新,另一方面也希望为找工作的同学们提供一个复习参考。关于这块内容的初步了解和掌握,建议大家读一读《图解HTTP》一书。

    2022年6月24日
    34
  • iocp详解_iocp是异步io吗

    iocp详解_iocp是异步io吗#include”SOCKET.h”#includeDWORDWINAPIThreadProc(LPVOIDpvParam);#definePORT8080#defineLISTEN_QUEUE200//AcceptEx和GetAcceptExSockaddrs的函数指针,用于调用这两个扩展函数LPFN_ACCEPTEX       

    2022年9月29日
    2

发表回复

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

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