Android主屏幕计数

时间:2011-06-25 15:00:06

标签: android homescreen

开发动态壁纸并在HTC Desire HD上进行测试时,它有7个主屏幕(意味着你可以从主屏幕向左滚动3次,从主屏幕向右滚动3次),我想知道是否这适用于那里的每个Android设备吗?

如果没有,我该如何访问此主屏幕计数?

4 个答案:

答案 0 :(得分:4)

我有一个解决方法。当您开发动态壁纸时,在您自己的WallpaperService课程中,您可以覆盖此方法:public void onOffsetsChanged(float xOffset, float yOffset,float xOffsetStep, float yOffsetStep, int xPixelOffset,int yPixelOffset)

当您滑动并拖动主屏幕时,系统将调用此方法。通过这种方法,您可以知道有多少个主屏幕,还可以识别当前主页的位置。

即,我的设备是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 :(得分:1)

7个主屏幕肯定不是默认设置,Nexus One只有5个主屏幕。这取决于安装的Homescreen应用程序。在HTC设备上,默认情况下为“Sense”,支持7个主屏幕。股票android主屏幕只支持5,其他可能支持无限主屏幕。用户可以自己替换这些应用程序,因此它不依赖于设备。

答案 2 :(得分:0)

为了它的价值,Motoblur(Droid X / X2等)使用7个主屏幕。中心,+ 3两侧。

答案 3 :(得分:0)

Cyanogenmod 7支持可变数量的主屏幕,因此一种尺寸的屏幕数量可能与另一种尺寸不同。

ALSO 我可以随时更改数字并添加新数字,因此它并不总是恒定