私はいくつかのレイアウトを含むviewflipperを持っています。各レイアウトはスクロールビューをルートとして持っています。Scrollviewsとナビゲーションバーを持つViewflipper
viewflipperの下には、ナビゲーションバーとして機能するtextviewsを含む水平スクロールビューがあります。
@Override
public boolean dispatchTouchEvent(MotionEvent ev){
super.dispatchTouchEvent(ev);
return gestureDetector.onTouchEvent(ev);
}
やスクロールが今情事と一緒に動作します:
私のオリジナルの問題は、情事、私はscrollviewを追加するとすぐに動作を停止しますが、私は次のコードを追加したことでした。
私の今の唯一の問題は、HSVナビバーがちょっと変わったということです。ときには、新しいコンテンツを選択するために横にスライドしようとすると、HSVは元の場所に戻ります。 HSVは私が飛び降りて次のコンテンツに移動したいと思う他の時間です。これはもちろん、スクロールしようとする速度に依存します。
私は、ナビゲーションバーがフリッパーとは独立して動作するようにします。
私はそれを自分で修正するためのコードを理解しようとしていますが、どこにも行きません。
class MyGestureDetector extends SimpleOnGestureListener {
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
try {
if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH)
return false;
// right to left swipe
if(e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
flipper.setInAnimation(flip_in_from_right);
flipper.setOutAnimation(flip_out_to_left);
flipper.showNext();
} else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
flipper.setInAnimation(flip_in_from_left);
flipper.setOutAnimation(flip_out_to_right);
flipper.showPrevious();
}
} catch (Exception e) {
// nothing
}
そしてオーバーライド:
は@Override
public boolean dispatchTouchEvent(MotionEvent ev){
super.dispatchTouchEvent(ev);
return gestureDetector.onTouchEvent(ev);
}
は誰でも上の任意の光を当てることができます私はMyGestureDetectorクラスを持っている
gestureDetector = new GestureDetector(new MyGestureDetector());
gestureListener = new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (gestureDetector.onTouchEvent(event)) {
return true;
}
return false;
}};
:
私は自分のonCreateで次の持っていますこの?
[ViewPager](http://geekyouup.blogspot.com/2011/07/viewpager-example-from-paug.html)を[ViewPagerIndicator lib](https:// github。 com/JakeWharton/Android-ViewPagerIndicator)の代わりにViewFlipper?私の意見では、これはViewFlipperよりも優れています。私はそれに多くの問題がありました(私のプログラムでは、ViewFlipperを使用したときにスクロールビュー内のリストでflingが動作しません)。 – kameny
Viewpagerは非常に面白そうです。私の主なコーディングがほぼ完了しているので、それが価値があるかどうかは分かりません! – Leon
はい、これはプログラマー生活の中で最も難しいステップです:Dですが、ViewPlipperはうまくいかない場合や、次のプロジェクトで使用する場合は、ViewPagerは非常に良い選択肢です。デモプロジェクトでViewPagerサンプルの1つを実装して、長所と短所を尊重することができます。 – kameny