Реализуете HomeScreen-подобный виджет с горизонтальной прокруткой? - PullRequest
4 голосов
/ 07 марта 2011

Большинство устройств Android имеют домашний экран, который можно перетаскивать по горизонтали, перетаскивая (есть и другие, которые также имеют сеточную функцию 2d прокрутки, но меня интересует только горизонтальная прокрутка).

Может ли кто-нибудь пролить свет на то, как этого можно достичь?

Сначала я подумал об использовании пользовательского ViewFlipper.Я мог бы прикрепить к нему правильные анимации скольжения, но это не совсем то же самое.На начальном экране «величина скольжения» зависит от того, насколько далеко вы потянули палец по экрану.Анимации - это вещи, которые можно забыть, я не могу остановить их на полпути.

Есть идеи?

Вот видео о желаемом поведении: http://www.youtube.com/watch?v=UGdWM2TQNSo&feature=player_detailpage#t=104s

Ответы [ 2 ]

3 голосов
/ 08 марта 2011

Вы можете посмотреть, как это работает в Android-приложении Launcher: https://android.googlesource.com/platform/packages/apps/Launcher2/+/master/src/com/android/launcher2/Workspace.java

В первую очередь вас интересуют методы onTouchEvent, onInterceptTouchEvent и computeScroll.

0 голосов
/ 21 сентября 2011

Google выпустила пакет совместимости с некоторыми новыми элементами пользовательского интерфейса, которые можно загрузить через SDK Manager.

  • поместите файл .jar, расположенный в sdkfolder/extras/compatibility, в путь сборки.

  • теперь вы можете использовать класс с именем ViewPager, который ведет себя как домашний экран Android.

Или, если вы используете плагин Eclipse и ADTv12 или выше, просто щелкните правой кнопкой мыши свой проект, выберите «Инструменты Android», а затем «Добавить пакет совместимости».

...