/var/log/messages

Oct 10, 2014 - 2 minute read - Comments - android

LiveWallPaper

なんか色々弄る機会があり、調べてもみたのでそのあたりについて備忘控えを。

導入時の Activity 表示

LiveWallPaper って UI てきにパケジ導入時に何の変化も無いので素人さん的に何が起きたのかも分からないだろう、という事でこうした仕掛けが用意されているのだろうと類推。

アプリ導入したら Activity を表示させて

  • 壁紙設定の方法の案内
  • 壁紙設定への導線

などが可能、という事なのかな。方法てきには AndroidManifest に以下な記述を追加してあげれば良くて

{% gist 3f9bc3454f9c72f9361f %}

これで、導入後に Open なボタンが出てくるのでクリックで定義した Activity が起動される模様。

Activity に Button を置いておいてクリック時に以下な処理を書いておいてあげれば、Button クリックで選択画面に飛ばすことができます。

{% gist cb0424b638cb35b45e9d %}

Activity にはこんな選択画面が表示されて、これを選択すれば使えるようになりますよ的な案内を表示してあげるとより親切ですね。

設定画面

WallpaperService クラスについては AndroidManifest にて例えば以下なカンジで指定をしてあげることで

{% gist 7ccf61ccd16336cf9cdc %}

ひと通りの準備ができるようなのですが、meta-data な属性で指定されてる xml/wallpaper.xml でもう少し詳細な設定をするようです。

{% gist 31f851ff29535ef1194c %}

このなかで android:settingsActivity で指定されたクラスが preview 画面 で出てくる Settings に割り当てられるようです。

もしかすると、ここで何も割り当てられていない場合は Settings というボタンが表示されないのかな、と思い試してみたところ、やはりボタン一つになりました。成程。

ちなみにここで指定する Activity ですが PreferenceActivity でなくても良いみたいです。ふつーの Activity で何かをする、ってのもアリな事は確認してます。

あと、設定画面は

{% gist 6dbceffc92fad61d5e7a %}

みたいな theme 設定しておくと、半透明なオーバーレイで設定画面が表示できるようです。

ベンチャー論議 台風な週末

comments powered by Disqus