Счетчик домашнего экрана Android - PullRequest
1 голос
/ 25 июня 2011

при разработке живых обоев и тестировании на HTC Desire HD, который имеет 7 рабочих столов (то есть вы можете прокручивать 3 раза влево от основного домашнего экрана и 3 раза вправо от основного домашнего экрана), мне было интересно,это применимо к каждому устройству Android там?

Если нет, то как я могу получить доступ к счетчику этого домашнего экрана?

Ответы [ 4 ]

4 голосов
/ 25 июня 2011

У меня есть обходной путь. Когда вы разрабатываете живые обои в своем собственном WallpaperService классе, вы можете переопределить этот метод: public void onOffsetsChanged(float xOffset, float yOffset,float xOffsetStep, float yOffsetStep, int xPixelOffset,int yPixelOffset).

Система вызовет этот метод, когда вы проведете пальцем и перетащите ваш домашний экран. С помощью этого метода вы можете узнать, сколько есть домашних экранов, а также определить текущее значение homescrren.

То есть, мое устройство - Moto Defy, и у него 7 рабочих столов. Когда я проведу пальцем от самого левого homescrren до самого правого, xOffset изменится с 0, 0,16666, 0,33333,0,5 ... на 1. Итак, вы видите, разница между двумя ближайшими xOffset составляет 0,16666 = 1 / (счетчик домашнего экрана- 1). Это просто параметр xOffsetStep.

Вывод: счетчик рабочего стола = 1 / xOffsetStep + 1.

Я только что проверил этот метод на своем Defy и эмуляторе (3 домашних экрана) и нашел это. Документ SDK не объясняет этот метод в деталях. Пожалуйста, скажите мне, если это работает для вас. Спасибо.

1 голос
/ 25 июня 2011

7 домашних экранов определенно не по умолчанию, Nexus One получил только 5 домашних экранов. Это зависит от установленного приложения Homescreen. На устройствах HTC это Sense по умолчанию, который поддерживает 7 домашних экранов. Стандартный рабочий стол Android поддерживает только 5, другие могут поддерживать бесконечные домашние экраны. Пользователь может заменить эти приложения самостоятельно, поэтому он не зависит от устройства.

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

Cyanogenmod 7 поддерживает переменное количество домашних экранов, поэтому количество экранов на одном размере может быть не таким, как на другом.

ТАКЖЕ Я могу изменить количество и добавить новыекогда мне нравится, так что не всегда будет постоянным

0 голосов
/ 25 июня 2011

Для чего стоит Motoblur (Droid X / X2 и т. Д.) Использует 7 домашних экранов. Центр, +3 с каждой стороны.

...