1

私は Android プログラミングにまったく慣れていないので、次のように構築されたレイアウトで意図した動作を得るのに苦労していLinearLayoutますHorizontalScrollView。ズームしていないときは幅 2000 ピクセル)。

それは正常に動作し、私のカスタム ビューは 内に表示され、HorizontalScrollViewスクロール可能、フリック可能、およびすべてです。ここまでは順調ですね。

次にやりたかったことは、カスタム ビューをズームすることでした。それを達成するためにonTouchEvent()、カスタムビューのをオーバーライドしました

@Override
public boolean onTouchEvent(MotionEvent motionEvent)
{
    if (_gestureDetector.onTouchEvent(motionEvent))
        return true;
    return false;
}

my でイベントを受け取りますSimpleOnScaleGestureListener。新しいズーム係数を計算するためにそれらをビューに渡しますが、それでも機能します。

ピンチ/ズームは、「垂直に」ピンチした場合にのみ機能します。直感的な「水平」ピンチはHorizontalScrollView、代わりにスクロールを行う によって消費されるようです。

ここで何が起こっているのか、どうすれば私が望む動作を得ることができるのか、つまり

  • HorizontalScrollView、およびを使用してフリックおよびスクロールします。
  • カスタムビューをつまんでズームできますか?
4

0 に答える 0