11

Angry Birdsを起動してプレイを押すと、画像の中央の線が水平方向にスクロールするメニューが表示されます。クリックすると、ゲームを開始できます。メニューを横に(水平に)スクロールしてタップ可能な画像を表示するという点で、これに似たメニューを作成する方法を考えていましたか?前もって感謝します!

4

3 に答える 3

8

私はあなたがHorizo​​ntalScrollViewでこれを達成できると思いますホリゾンタルスクロールビューの子は、orientation:horizo​​ntalのLinearLayoutになります。これには、ImageViewsまたはImageButtonsが含まれます。Angry Birdsの「スナップ」効果を実現するには、スクロールビューにonTouchListener()を設定する必要があり、ACTION_UPセクション内でhScrlView.getScrollX()をチェックしてどの画像を確認するかを確認します。最も近い画像の次にhScrlView.scrollTo(x、y)を呼び出し、xパラメータを最も近い画像のレイアウトx値にします。

編集:私はGalleryViewを個人的に使用したことはありませんが、このチュートリアルに基づくと、おそらくそのように機能させることができるようです。そして、それはあなたのために「スナップ」メカニズムを処理するかもしれないので、あなたはそれをするためにあなた自身のタッチリスナーを作る必要はないでしょう。ギャラリーで画像の間にスペースを設定できるかどうかはわかりませんが(Angry Birdsの画像はかなり広がっています)、Horizo​​ntalScrollViewと線形または相対レイアウトを使用すればできることは確かです。

于 2011-03-17T14:31:45.467 に答える
1

これはギャラリーを使用して行うことができ、アダプターで各アイテムのImageViewにTouchListenersを追加します。これが最善の方法です。スクロールしているときにギャラリーが各画像の中央に配置されるようにサポートします。ホリゾンタルスクロールビューでは、フリングでスクロールするだけで、メニューの項目は一元化されません。

于 2011-03-17T19:25:15.380 に答える
0

私はこれを自分で行う方法を見つけることができませんでしたが、この記事は良いスタートです:

Androidで水平リストビューを作成するにはどうすればよいですか?

于 2011-03-17T14:27:11.747 に答える