1

ライブ壁紙を開発し、7 つのホームスクリーンがある HTC Desire HD でテストしている間 (メインのホームスクリーンから左に 3 回、メインのホームスクリーンから右に 3 回スクロールできることを意味します)、これが適用されるかどうか疑問に思っていました。そこにあるすべてのAndroidデバイス?

そうでない場合、どうすればこのホームスクリーンの数にアクセスできますか?

4

4 に答える 4

4

回避策があります。独自のクラスでライブ壁紙を開発する場合、WallpaperServiceこのメソッドをオーバーライドできます: public void onOffsetsChanged(float xOffset, float yOffset,float xOffsetStep, float yOffsetStep, int xPixelOffset,int yPixelOffset).

ホーム画面をスワイプしてドラッグすると、システムはこのメソッドを呼び出します。この方法で、ホームスクリーンがいくつあるかを知ることができ、現在のホームスクリーンがどこにあるかを特定することもできます。

つまり、私のデバイスは Moto Defy で、7 つのホーム画面があります。左端のホームスクリーンから右端にスワイプするとxOffset、0、0.16666、0.33333、0.5... から 1 に変わりますxOffset。これは のパラメータですxOffsetStep

結論: ホームスクリーン数=1/xOffsetStep+1.

このメソッドを自分の Defy とエミュレーター (3 つのホームスクリーン) でテストしたところ、これが見つかりました。SDK ドキュメントでは、この方法について詳しく説明していません。これがうまくいくかどうか教えてください。ありがとう。

于 2011-06-25T16:11:25.513 に答える
1

7 つのホーム画面はデフォルトではありません。Nexus One には 5 つのホーム画面しかありません。インストールされているホームスクリーンアプリケーションに依存します。HTCs デバイスでは、これはデフォルトで「Sense」で、7 つのホームスクリーンをサポートします。標準の Android ホームスクリーンは 5 つしかサポートしていませんが、他のものは無限のホームスクリーンをサポートしている可能性があります。ユーザーはこれらのアプリケーションを独自に置き換えることができるため、デバイスに依存しません。

于 2011-06-25T15:02:23.910 に答える
0

Cyanogenmod 7 は可変数のホームスクリーンをサポートしているため、あるサイズのスクリーンの数は別のサイズと同じではない場合があります。

また、いつでも番号を変更して新しい番号を追加できるため、常に一定であるとは限りません

于 2011-09-08T16:26:00.717 に答える
0

その価値のために、Motoblur (Droid X / X2 など) は 7 つのホーム画面を使用します。中央、両側に +3。

于 2011-06-25T17:18:56.780 に答える