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


相关推荐

  • private、 protected、 public、 internal 修饰符建议收藏

    private:私有成员,在类的内部才可以访问。protected:保护成员,该类内部和继承类中可以访问。public:公共成员,完全公开,没有访问限制。internal:在同一命名空

    2021年12月20日
  • 小米刷原生android系统下载地址,小米6刷原生安卓8.0下载|小米6刷原生安卓p 免费版_附教程_最火软件站…

    小米刷原生android系统下载地址,小米6刷原生安卓8.0下载|小米6刷原生安卓p 免费版_附教程_最火软件站…小米6刷原生安卓系统是一款专门为小米6手机整理的刷机包,利用这款工具可以帮助小米6手机用户将自己的手机系统升级为原生安卓8.0、9.0等,让手机使用更加的方便,需要的用户快来最火网站下载吧!小米6刷原生安卓8.0简介小米6刷安卓9.0文件是为小米6用户提供的刷最新的安卓系统所需的文件,18年上线的安卓系统对于很多安卓粉丝来说还是很有吸引力的,如果你手上正好有一台小米6手机,可来下载这款文件来将自己…

    2022年6月19日
  • java交换二维数组行列_java二维数组行列

    java交换二维数组行列_java二维数组行列培训系列AmberXie求二维数组行列之和把二维数组a各行之和分别放入b…二维数组例题答案[技巧]【例1】编写程序,利用二维数组在窗体上输出如图5×5…如果没有max为行列都是最大值flag=0Forj=1To5Ifa(j……二维数组行列数的检测也是通过属性length进行的,不同的是测列数时需要给定一…程序中定义了二维数组arr,a…

    2022年6月7日
  • 手机靓号正则表达式「建议收藏」

    手机靓号正则表达式「建议收藏」手机靓号正则表达式手机靓号正则ABC+=1234或12345…AAAA+=1111或11111…AAAA+//ABC+DDD+//AA+BBB+//AABBCC//ABABABAAAA+    (\d)\1{3,}   //如果想调3A+改{3,}改成{2,},想固定3A的话把{2,}的{,}号去掉  (1111+)ABC+DDD+  (?:0(?=1)|1(?=2)|2(?=3)|3(?=4

    2022年6月8日
  • 八大排序算法(java实现) 冒泡排序 快速排序 堆排序 归并排序 等[通俗易懂]

    八大排序算法(java实现) 冒泡排序 快速排序 堆排序 归并排序 等[通俗易懂]八大排序算法一、直接插入-1.基本思路-2.代码实现-3.时间复杂度和空间复杂度二、希尔排序-1.基本思路-2.代码实现-3.时间复杂度和空间复杂度三、简单选择-1.基本思路-2.代码实现-3.时间复杂度和空间复杂度四、堆排序-1.基本思路-2.代码实现-3.时间复杂度和空间复杂度五、冒泡排序-1.基本思路-2.代码实现-3.时间复杂度和空间复杂度六、快速排序-1.基本思路-2.代码实现-3.时间复杂度和空间复杂度七..

    2022年7月13日
  • 浮雕建模软件_自建房设计软件

    浮雕建模软件_自建房设计软件vectricaspire10是一款非常专业的3d浮雕模型设计软件,为CNC铣床上创建和切割零件提供了强大直观的解决方案,凭借其独特的3D组件建模、完善的2D设计、编辑工具集让你可以轻松使用现有2D数据或导入的3D模型,甚至能够从头开始创建自己的2D和3D零件。而且可以将几何体捕捉到不作为几何体存在的直线,延伸和交叉点,从而减少对大多数构造矢量的需求,还具有一整套完善的绘图工具,允许你通过在创建几何体时允许键入值来更轻松地为形状创建和编辑过程添加更多精度,让你能够更准确地切割这些形状。与此同时,全新的v

    2022年9月5日

发表回复

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

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