webview 切换及扩展

MyWebView[] webview =new MyWebView[2]; 
    flipper
= (ViewFlipper) findViewById(R.id.ViewFlipper); 
 
 webview
[i] = new MyWebView(this); 
 webview
[i].setWebViewClient(new HelloWebViewClient()); 
 webview
[i].getSettings().setJavaScriptEnabled(false); 
 webview
[i].setInitialScale(60);  
 webview
[i].getSettings().setBuiltInZoomControls(true); 
 
    flipper
.addView(webview[0]); 
    flipper
.addView(webview[1]); 

public class MyWebView extends WebView { 
  public MyWebView(Context context) { 
   super(context); 
  } 
 
 
 
@Override  
     public boolean onTouchEvent(MotionEvent evt) {    
 
         boolean consumed = super.onTouchEvent(evt);  
     if (isClickable()) {  
         switch (evt.getAction()) {  
     case MotionEvent.ACTION_DOWN:  
         lastTouchX = evt.getX();  
         lastTouchY = evt.getY(); 
         downXValue = evt.getX(); 
         downTime = evt.getEventTime(); 
         hasMoved = false;  
         break;  
     case MotionEvent.ACTION_MOVE:  
         hasMoved = moved(evt);  
         break;  
     case MotionEvent.ACTION_UP:  
        float currentX = evt.getX(); 
           long currentTime = evt.getEventTime(); 
           float difference = Math.abs(downXValue - currentX); 
           long time = currentTime - downTime; 
 
           Log.i("Touch Event:",  "Distance: " + difference + "px Time: " + time + "ms"); 
 
           if ( (downXValue < currentX) && (time < 220) && (difference > 100) ) { 
               go_back(); 
           } 
 
 
 
             if ( (downXValue > currentX) && (time < 220) && (difference > 100) ) { 
                   go_forward(); 
 
 
                  } 
 
                 //if (!moved(evt)) performClick();  
                 break;  
             }  
         }  
         return consumed || isClickable();  
     }  
  float downXValue; 
  long downTime; 
     private float lastTouchX, lastTouchY;  
     private boolean hasMoved = false;  
     private boolean moved(MotionEvent evt) {  
         return hasMoved ||  
             Math.abs(evt.getX() - lastTouchX) > 10.0 ||  
             Math.abs(evt.getY() - lastTouchY) > 10.0;  
     } 
 
 } 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值