Android:WebView带划屏手势的浏览器实现
2013-04-23 22:59
537 查看
写了简单Android环境下基于webview的浏览器,实现划屏切换页面的手势,在一个activity里webview的缓冲内切换的。并测试下调用系统拍照的功能MVC模式(Model-View-Controller)1.WebView的设置部分查看源代码打印帮助
在WebView加载新开的页面,是重写了Android.webkit.WebViewClient
查看源代码打印帮助
2.划屏手势部分监听触摸时间传给手势对象查看源代码打印帮助
重写了划动事件
查看源代码打印帮助
变量、常量的声明
查看源代码打印帮助
3.调用系统拍照功能部分
查看源代码打印帮助
小demo的源码本来上传到csdn了,可在我上传的资源就是找不到,可能在审核,等我之后不上下载链接吧想要demo源码也可以邮件给我邮箱:625557711@qq.com下载链接:http://download.csdn.net/source/3248263
01 | private void showViews(){ |
02 | //TODOAuto-generatedmethodstub |
03 | mGestureDetector= new GestureDetector( this ); //实例化手势对象 |
04 | wv_vm.getSettings().setSupportZoom( true ); //启用页面的缩放 |
05 | wv_vm.getSettings().setBuiltInZoomControls( true ); //启用页面缩放的按钮 |
06 | wv_vm.getSettings().set<SPAN class =wp_keywordlink_affiliate><Atitle=JavaScripthref= " target=_blank>JavaScript</A></SPAN>Enabled( true );//启用<SPAN class =wp_keywordlink_affiliate><Atitle=JavaScripthref= " target=_blank>JavaScript</A></SPAN>支持 |
07 | wv_vm.loadUrl( " );//加载网址 |
08 |
09 | wv_vm.setOnTouchListener( this ); //监听触摸事件 |
10 | wv_vm.setClickable( true ); |
11 | wv_vm.setLongClickable( true ); |
12 |
13 | mGestureDetector.setIsLongpressEnabled( true ); |
14 |
15 | wv_vm.setWebViewClient( new HelloWebViewClient()); //实现点击加载页面在本webview内载入 |
16 | wv_vm.setFocusable( true ); |
17 | wv_vm.requestFocus(); |
18 |
19 | } |
1 | private class HelloWebViewClient extends WebViewClient{ |
2 | @Override |
3 | public boolean shouldOverrideUrlLoading(WebViewview,Stringurl){ |
4 | view.loadUrl(url); |
5 | return true ; |
6 | } |
7 | } |
1 | @Override |
2 | public boolean onTouch(Viewv,MotionEventevent){ |
3 | //TODOAuto-generatedmethodstub |
4 | //Toast.makeText(this,"onTouch",Toast.LENGTH_SHORT).show(); |
5 | return mGestureDetector.onTouchEvent(event); |
6 | } |
01 | @Override |
02 | public boolean onFling(MotionEvente1,MotionEvente2, float <SPAN class =wp_keywordlink_affiliate><Atitle=Velocityhref= " target=_blank>Velocity</A></SPAN>X, |
03 | float <SPAN class =wp_keywordlink_affiliate><Atitle=Velocityhref= " target=_blank>Velocity</A></SPAN>Y){ |
04 | //TODOAuto-generatedmethodstub |
05 | if (e1.getX()-e2.getX()>SWIPE_MIN_DISTANCE |
06 | &&Math.abs(<SPAN class =wp_keywordlink_affiliate><Atitle=Velocityhref= " target=_blank>Velocity</A></SPAN>X)>SWIPE_THRESHOLD_VELOCITY){ |
07 | wv_vm.goBack(); |
08 | } else if (e2.getX()-e1.getX()>SWIPE_MIN_DISTANCE |
09 | &&Math.abs(velocityX)>SWIPE_THRESHOLD_VELOCITY){ |
10 |
11 | wv_vm.goForward(); |
12 | } |
13 | return false ; |
14 | } |
1 | private GestureDetectormGestureDetector; |
2 |
3 | private static final int SWIPE_MIN_DISTANCE= 120 ; |
4 | private static final int SWIPE_THRESHOLD_VELOCITY= 200 ; |
01 | private void setListensers(){ |
02 | //TODOAuto-generatedmethodstub |
03 | Intentintent= new Intent(MediaStore.ACTION_IMAGE_CAPTURE); |
04 | startActivityForResult(intent, 1 ); |
05 |
06 | } |
07 |
08 | private void findViews(){ |
09 | //TODOAuto-generatedmethodstub |
10 | img_pic=(ImageView)findViewById(R.id.img_pic); |
11 |
12 | } |
13 |
14 | protected void onActivityResult( int requestCode, int resultCode,Intentdata) |
15 | { |
16 | if (requestCode== 1 ) |
17 | { |
18 | if (resultCode==Activity.RESULT_OK) |
19 | { |
20 | //拍照Activity保存图像数据的key是data,返回的数据类型是Bitmap对象 |
21 | BitmapcameraBitmap=(Bitmap)data.getExtras().get( "data" ); |
22 | //在ImageView组件中显示拍摄的照片 |
23 | img_pic.setImageBitmap(cameraBitmap); |
24 | } |
25 | } |
26 | super .onActivityResult(requestCode,resultCode,data); |
27 | } |
相关文章推荐
- Android:WebView带划屏手势的浏览器实现
- WebView,带划屏手势的浏览器实现
- andriod之WebView,如何实现带划屏手势的浏览器
- 【Android】检测是否处于Wifi环境,利用WebView实现浏览器app
- Webview实现android简单的浏览器实例代码
- android开发中WebView控件的实例与注意要点——个人主页浏览器简易实现
- 【Android】检测是否处于Wifi环境,利用WebView实现浏览器app
- android开发中WebView控件的实例与注意要点——个人主页浏览器简易实现
- Android 浏览器 —— 使用 WebView 实现文件下载
- android利用WebView实现浏览器的封装
- android利用WebView实现浏览器的封装
- android 下 利用webview实现浏览器功能
- android开发中WebView控件的实例与注意要点——个人主页浏览器简易实现
- 【Android WebView】 利用webview实现浏览器的基本功能
- android利用WebView实现浏览器的封装
- Android程序:简易浏览器的实现(WebView)
- android:webview实现简单的浏览器
- Android WebView的使用(禁止超链接调用其他浏览器 设置滚动条 禁止横竖屏切换重新加载网页 )
- Android中用html代码来实现界面 WebView控件
- Android之 用MVP模式 来实现webview 历史记录保存与显示