2011年6月4日土曜日

作業量を減らすためのネタ

はじめてのアプリ作成ということでアプリを作りきるためにはこうするべきだなと考えていたことが「画面の縦横固定にする」である。
端末回転イベント発生時のいろいろな考慮をするのが面倒だからなぁ。

これはAndroidManifest.xmlで対象のActivityにandroid:screenOrientation="ほにゃ"を設定することだけで可能なお手軽設定なのだ。
(ついでに言うとAndroidの初心者本はこういう初心者はこうしとくと楽だよというおまじないを理由も含めてまとめてくれたら良いのにとも思っている。)

で、コレを開放するにはタオパイパイに勝てるぐらい強くなってからだなーとか思ってたわけだが、アプリを作成するのにどうしてもUI的に縦の方がいいんじゃないの?という場面が多くなってきたので開放してみたらいろんなタイミングを考慮しないと死ぬわ死ぬわで大変なことになった。

やっぱタオパイパイつえーなーとも言ってられないので、とりあえずの対策としてここの情報を参考にonResumeで固定、onPauseで解除するようにしてみた。

あと、この縦横設定値は2.3で逆さモードも加わったらしいんだけど、そのあたりは見なかったことにすることで解決しました。


(追記)
いきなり穴があった。
「onPauseで抜ける=Activity終了」が成立してるときはいいけど、別のアプリが前面→回転→自分のアプリって戻ってきたときは結局画面切り替えのonDestroyが呼ばれるんだなー。
こことか参照。

onCreate()→onStart()→onResume()→画面表示中、ホームボタンで別アプリ→onPause()→onStop()→縦横切り替え、アプリに戻る→onDestroy()となる。
結局onCreateが呼ばれてからなのでアプリ上で回転した場合と変わりない。
対策としては、、、、忘れとこう。

0 件のコメント:

コメントを投稿