1.ViewFlipper和OnGestureListener手勢介面實現簡單手勢動畫
要點如下:
ViewFlipper類繼承自android.widget.ViewAnimator,它可以對內部的視圖做動畫,它支援2.0及以上。
在布局中添加ViewFlipper視圖
<ViewFlipper android:id="@+id/ViewFlipper01" android:layout_width="fill_parent" android:layout_height="fill_parent"></ViewFlipper>
在ViewFlipper中添加各個view:
flipper.addView(view1);
flipper.addView(view2);
實現OnGestureListener
構造GestureDetector detector = new GestureDetector(this);
在
重寫activity的onTouchEvent方法:
public boolean onTouchEvent(MotionEvent event) {
return this.detector.onTouchEvent(event);
}
實現onFling方法:
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
if (e1.getX() - e2.getX() > 120) {
this.flipper.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.push_left_in));
this.flipper.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.push_left_out));
this.flipper.showNext();
return true;
} else if (e1.getX() - e2.getX() < -120) {
this.flipper.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.push_right_in));
this.flipper.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.push_right_out));
this.flipper.showPrevious();
return true;
}
return false;
}
參考http://www.chinasb.org/archives/2010/10/688.shtml
2.動畫檔案
在res\anim\*.xml中,例如:<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="100%p" android:toXDelta="0" android:duration="500" />
<alpha android:fromAlpha="0.1" android:toAlpha="1.0" android:duration="500" />
</set>
這個動畫中包含兩個動作:
translation動畫:fromXDelta 動畫的開始X位置,toXDelta 動畫的結束X位置,duration 期間。
alpha透明度通道動畫:
正規的一次性飯盒是聚丙烯原料的,較重,結實,100度油不會融化,燃燒成灰,有QS編號及可降解標示。
有毒的飯盒使用聚苯乙烯而已一些二次原料,熒光粉等。