2011-05-23 12 views
2

私は、Androidマニフェストファイルに現在のAndroidライブ壁紙の上にあるアクティビティUI - Androidデスクトップのように左右のスワイプを処理するにはどうすればよいですか?

<activity android:theme="@android:style/Theme.Wallpaper.NoTitleBar"> 

または

<activity android:theme="@android:style/Theme.Holo.Wallpaper.NoTitleBar"> 

を設定することにより、現在のシステムの壁紙の上に私の活動のビューを作成しようとしています。

しかし、私がAndroidデスクトップにいて、ライブ壁紙を持っている場合、右または左に別のデスクトップにスワイプすると、壁紙が変わります(左から表示されているように見えます)。 [NB:この効果を「視差スクロール」といいます。]

他のタッチイベント(タップなど)はライブ壁紙に送信されますが、私のアプリケーションではこの動作が発生しません。

アプリケーションでデフォルトのAndroidの動作を取得するにはどうすればよいですか?

答えて

3

ライブ壁紙は、一般的にonTouchEvent()に対する応答としてスクロールを開始しません。代わりに、ライブ壁紙のプログラマーは、通常、サイドスワイプ、小さなスクロールドットのいずれかに触れるなどランチャーによって送信されるonOffsetsChanged()イベントを処理することで、人生を単純化します。

アプリがスワイプをインターセプトしてonOffsetsChanged()イベントに変換し、WallPaperService.Engineを呼び出す可能性があります。私は誰もこれをやろうとは見たことがないし、それは私が些細なことではないが、それは価値がある。 :-)

関連する問題