0
A
答えて
0
答え:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ViewFlipper flipper = findViewById(R.id.flipper);
flipper.setOnTouchListener(this);
}
private void myOnTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_MOVE:
mDragged = true;
break;
case MotionEvent.ACTION_DOWN:
mDragged = false;
mXbefore = event.getX();
break;
case MotionEvent.ACTION_UP:
if(mDragged){
vf = (ViewFlipper) v;
mXafter = event.getX();
if(mXafter > mXbefore){
vf.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.right_to_left_in));
vf.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.right_to_left_out));
vf.showNext();
}else{
vf.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.left_to_right_in));
vf.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.left_to_right_out));
vf.showPrevious();
}
}
mDragged = false;
break;
default:
break;
}
}
main.xml:
<ViewFLipper id="@+id/flipper">
<YourLayout />
<YourLayout />
</ViewFlipper>
right_to_left_in.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%p"
android:duration="500"/>
<alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="500" />
</set>
リグht_to_left_out.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="200%p"
android:duration="500"/>
<alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="500" />
</set>
left_to_right_in.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.0" android:toAlpha="1.0" android:duration="500" />
</set>
left_to_right_out_xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="0%p"
android:toXDelta="-100%p"
android:duration="500"/>
<alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="500" />
</set>
1
これらの2つの方法がquikly問題を解決するために本当に便利です。
Animation slide_out_left = AnimationUtils.makeOutAnimation(getActivity(),false);
Animation slide_in_right = AnimationUtils.makeInAnimation(getActivity(), true);
Animation slide_out_right = AnimationUtils.makeOutAnimation(getActivity(),true);
Animation slide_in_left = AnimationUtils.makeInAnimation(getActivity(), false);
hereは、メソッドのドキュメントで、2番目のパラメータはサイドを選択するフラグであることがわかります。
結果はRodrigoと似ていますが、2行のコードを取り、カスタムアニメーションの定義を必要としません。
関連する問題
- 1. この読み込みアニメーションの作成方法は?
- 2. 雨アニメーションの作成方法は?
- 3. 弾丸アニメーションの作成方法は? (シューティングゲーム)
- 4. 多段UIImageViewアニメーションの作成方法は?
- 5. このようなカスタムナビゲーションビューのアニメーションを作成する方法
- 6. このようなアニメーションの作成方法は?このようなサイトのロゴのアニメーションを作成する方法
- 7. カスタムAndroidアニメーションの作成方法
- 8. このhtmlテーブルの作成方法は?
- 9. この配列の作成方法は?
- 10. このKakuroテーブルの作成方法は?
- 11. このビュー(レイアウト)の作成方法は?
- 12. アンドロイド用カーブ変換アニメーションの作成方法は?
- 13. Javaでアニメーションを作成する最良の方法は?
- 14. マテリアルを作成して選択し、このマテリアルで新しいノードを作成し、アニメーション化する方法は?
- 15. Java:GUIアニメーションの操作方法は?
- 16. Androidでのアニメーションの移動/サイズ変更の作成方法
- 17. アプリケーションを開いたときのアニメーションの作成方法
- 18. Androidのパスに似たアニメーションのカスタムボタンを作成する方法
- 19. matplotlib imshow():アニメーションを作成する方法は?
- 20. UIViewでアニメーションを作成する方法は?
- 21. JavaFXでCSSを使ってアニメーションを作成する方法は?
- 22. jqwicketを使用してアニメーションを作成する方法は?
- 23. アンドロイドでアニメーションやユーザーインターフェイスを作成する方法は?
- 24. Android Canvasでアニメーションを作成する方法は?
- 25. Androidでパスアプリケーションのようにアニメーションを作成する方法
- 26. mp4からアニメーションgifを作成する最速の方法
- 27. このインテントの作成方法putExtra?
- 28. このドロップダウンの作成方法
- 29. Androidでのアニメーションの作成
- 30. このアニメーション化された矢印を作成するには?