私はAndroidを初めて使用するので、viewFlipperを使用せずにAndroid Webviewをスワイプしながら、アニメーションを使用してさまざまなWebページをロードする必要があります。
どうすればこれを行うことができますか?
私はAndroidを初めて使用するので、viewFlipperを使用せずにAndroid Webviewをスワイプしながら、アニメーションを使用してさまざまなWebページをロードする必要があります。
どうすればこれを行うことができますか?
OnGestureListenerをアクティビティに実装してから、
private static final int SWIPE_THRESHOLD = 100;
private static final int SWIPE_VELOCITY_THRESHOLD = 100;
public GestureDetector detector;
detector = new GestureDetector(this);
webview.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
return detector.onTouchEvent(event);
}
});
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
return detector.onTouchEvent(event);
}
public boolean onDown(MotionEvent e) {
// TODO Auto-generated method stub
return true;
}
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
boolean result = false;
try {
float diffY = e2.getY() - e1.getY();
float diffX = e2.getX() - e1.getX();
if (Math.abs(diffX) > Math.abs(diffY)) {
if (Math.abs(diffX) > SWIPE_THRESHOLD && Math.abs(velocityX) > SWIPE_VELOCITY_THRESHOLD) {
if (diffX > 0) {
System.out.println("swipe right");
} else {
System.out.println("swipe left");
}
}
}
} catch (Exception exception) {
exception.printStackTrace();
}
return result;
}
public void onLongPress(MotionEvent e) {
// TODO Auto-generated method stub
}
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
float distanceY) {
// TODO Auto-generated method stub
return true;
}
public void onShowPress(MotionEvent e) {
// TODO Auto-generated method stub
}
public boolean onSingleTapUp(MotionEvent e) {
// TODO Auto-generated method stub
return true;
}
Animation slideLeftAnim = AnimationUtils.loadAnimation(getBaseContext (), R.anim.righttoleft_in);
mWebView.startAnimation(slideLeftAnim);
animフォルダー内のrighttoleft_in.xml
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator" >
<translate
android:duration="200"
android:fromXDelta="100%p"
android:toXDelta="0" />
</set>
animフォルダー内のrighttoleft_out.xml
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator" >
<translate
android:duration="200"
android:fromXDelta="0"
android:toXDelta="-100%p" />
</set>