アプリで GLWallpaperService を拡張する次のコード スニペットがあります。
@Override
public void onOffsetsChanged(float xOffset, float yOffset,
float xStep, float yStep, int xPixels, int yPixels) {
super.onOffsetsChanged(xOffset,yOffset,xStep,yStep,xPixels,yPixels);
VideoLiveWallpaper.xStep = xStep;
VideoLiveWallpaper.yStep = yStep;
Log.w("General", "xStep: " + xStep);
Log.w("General", "yStep: " + yStep);
これを実行すると、xstep は 0 から 1 の間の値を返す必要があり、基本的に xstep の値を 1 で割ることによって画面の数を決定できるということを理解しています。ただし、Sony Xperia Ion でこれを実行するたびに、xstep は-1 として返されます。私は 5 つのホームスクリーンをセットアップしているので、これは単一のホームスクリーンのデフォルトではありません。
Google で検索してみましたが、同じ問題を抱えていると思われる人は他にいませんでした。これは私の特定の電話のバグですか? ホームスクリーンの数と、壁紙が移動するときにスクロールする量を決定するより良い方法はありますか?