Angry Birds любят прокручивать меню - PullRequest
11 голосов
/ 17 марта 2011

Когда вы запустите Angry Birds и нажмете «Играть», вам будет показано горизонтально прокручивающееся меню с центрированной линией изображений, при нажатии на которую вы можете начать игру, а что нет.Мне было интересно, как сделать меню, похожее на это, чтобы оно прокручивалось вбок (по горизонтали) и показывало вставляемые изображения?Заранее спасибо!

Ответы [ 3 ]

8 голосов
/ 17 марта 2011

Я думаю, что вы можете сделать это с помощью HorizontalScrollView. Дочерним элементом вашего HorizontalScrollView будет LinearLayout с ориентацией: горизонтальная. Он будет содержать ImageViews или ImageButtons. Чтобы добиться эффекта «привязки», который есть в Angry Birds, вам нужно установить onTouchListener () для представления прокрутки, а в разделе ACTION_UP вы должны проверить hScrlView.getScrollX (), чтобы увидеть, какое изображение вы находитесь ближе всего к этому, затем вызовите hScrlView.scrollTo (x, y) и сделайте параметр x значением макета x изображения, к которому вы ближе всего.

Редактировать: я никогда не использовал GalleryView лично, но на основе этого урока кажется, что вы могли бы заставить его работать таким образом. И он может обрабатывать механику «привязки к» для вас, так что вам не придется создавать собственный сенсорный слушатель, чтобы сделать это. Я не уверен, что вы можете установить пространство между изображениями (изображения в Angry Birds довольно немного разбросаны) в галерее, хотя я точно знаю, что вы можете это сделать, если вы используете HorizontalScrollView и линейный или относительный макет.

1 голос
/ 17 марта 2011

Вы можете сделать это, используя Галерею, и в своем адаптере вы добавляете TouchListener к ImageViews для каждого элемента.Это лучший способ, потому что Галерея будет оказывать поддержку каждому центру изображения при прокрутке.С HorizontalScrollView у вас есть только прокрутка с броском, и пункты вашего меню не будут централизованы.

0 голосов
/ 17 марта 2011

Я не смог найти, как это сделать сам, но эта статья - хорошее начало:

Как сделать горизонтальный ListView в Android?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...