WebView在ViewFlipper中 实现 切换
来源:互联网 发布:sql注入检测 编辑:程序博客网 时间:2024/06/01 09:52
package com.dt5000.ischool.logic;
import com.dt5000.ischool.activity.R;
import android.content.Context;
import android.view.MotionEvent;
import android.view.animation.AnimationUtils;
import android.webkit.WebView;
import android.widget.ViewFlipper;
public class MyWebView extends WebView {
float downXValue;
long downTime;
private ViewFlipper flipper;
private float lastTouchX, lastTouchY;
private boolean hasMoved = false;
public MyWebView(Context context, ViewFlipper flipper) {
super(context);
this.flipper = flipper;
}
@Override
public boolean onTouchEvent(MotionEvent evt) {
// TODO Auto-generated method stub
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;
/** X轴滑动距离大于100,并且时间小于220ms,并且向X轴右方向滑动 && (time < 220) */
if ((downXValue < currentX) && (difference > 50 && (time < 220))) {
/** 跳到上一页 */
this.flipper.setInAnimation(getContext(), R.drawable.push_right_in);
this.flipper.setOutAnimation(getContext(), R.drawable.push_right_out);
this. flipper.showPrevious();
}
/** X轴滑动距离大于100,并且时间小于220ms,并且向X轴左方向滑动 */
if ((downXValue > currentX) && (difference > 50) && (time < 220)) {
/** 跳到下一页 */
this.flipper.setInAnimation(getContext(), R.drawable.push_left_in);
this.flipper.setOutAnimation(getContext(), R.drawable.push_left_out);
this.flipper.showNext();
}
break;
}
}
return consumed || isClickable();
}
private boolean moved(MotionEvent evt) {
return hasMoved || Math.abs(evt.getX() - lastTouchX) > 10.0
|| Math.abs(evt.getY() - lastTouchY) > 10.0;
}
}
import com.dt5000.ischool.activity.R;
import android.content.Context;
import android.view.MotionEvent;
import android.view.animation.AnimationUtils;
import android.webkit.WebView;
import android.widget.ViewFlipper;
public class MyWebView extends WebView {
float downXValue;
long downTime;
private ViewFlipper flipper;
private float lastTouchX, lastTouchY;
private boolean hasMoved = false;
public MyWebView(Context context, ViewFlipper flipper) {
super(context);
this.flipper = flipper;
}
@Override
public boolean onTouchEvent(MotionEvent evt) {
// TODO Auto-generated method stub
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;
/** X轴滑动距离大于100,并且时间小于220ms,并且向X轴右方向滑动 && (time < 220) */
if ((downXValue < currentX) && (difference > 50 && (time < 220))) {
/** 跳到上一页 */
this.flipper.setInAnimation(getContext(), R.drawable.push_right_in);
this.flipper.setOutAnimation(getContext(), R.drawable.push_right_out);
this. flipper.showPrevious();
}
/** X轴滑动距离大于100,并且时间小于220ms,并且向X轴左方向滑动 */
if ((downXValue > currentX) && (difference > 50) && (time < 220)) {
/** 跳到下一页 */
this.flipper.setInAnimation(getContext(), R.drawable.push_left_in);
this.flipper.setOutAnimation(getContext(), R.drawable.push_left_out);
this.flipper.showNext();
}
break;
}
}
return consumed || isClickable();
}
private boolean moved(MotionEvent evt) {
return hasMoved || Math.abs(evt.getX() - lastTouchX) > 10.0
|| Math.abs(evt.getY() - lastTouchY) > 10.0;
}
}
- WebView在ViewFlipper中 实现 切换
- Android中使用ViewFlipper实现屏幕切换
- 使用ViewSwitcher和ViewFlipper在不同布局中切换
- 在ViewFlipper中使用Rotate3dAnimation旋转切换界面效果
- 在ViewFlipper中使用Rotate3dAnimation旋转切换界面效果
- 使用ViewSwitcher和ViewFlipper在不同布局中切换
- android ViewFlipper实现切换View
- 基于ViewFlipper实现图片切换
- ViewFlipper实现多页面切换
- ViewFlipper实现界面切换效果
- ViewFlipper+ImageView实现切换动画
- ViewFlipper + WebView
- 用ViewFlipper可以实现图片切换。
- 用ViewFlipper可以实现图片切换。
- ViewFlipper和GestureDetector实现手势切换图片
- 利用ViewFlipper实现屏幕切换动画效果
- ViewFlipper实现界面的滑动切换
- 实现滑动切换效果:ViewFlipper、OnGestureListener
- WinCE6.0驱动移植
- 第十四周项目2 成绩处理
- 浏览器缓存导致查询超时
- HibernateTemplate源码
- httclient出现的entity consumed
- WebView在ViewFlipper中 实现 切换
- Python中的easy_install
- 1000以内素数
- dynamic_cast
- Java 判断文件夹是否存在、创建文件夹
- 从“Hello World”看iOS应用的生命周期
- Windows服务(四)
- Lisp语言:Do循环的使用
- 我的Qt 4.4.0 X86配置