先週に引き続きAudio Spectrum Monitor - Apps on Google Playのバージョンアップを行った。
バグが結構残っていたのと、レビューコメントでの酷評?に対応するため、
バージョンアップで変更した内容を元に戻せるように、
対数表示と線形表示の切り替えと、スペクトル表示のズームを調整できるようにした。
バグも一通りつぶしたと思うので、一旦は完成ということしておこう。
今回のバージョンアップで、Android APIとはかなり格闘した。
画面回転するとActivityが再生成されるとか、
画面を広くするためActionBarを非表示にするとオプションメニューが開かなくなるとか、
コンパチブルライブラリを使わずにオプションメニューを使うとAndroidのバージョンによっては
画面レイアウトが崩れたりとか、結構はまった。
以下の通り対処して解決できた。
画面回転でActivityが再生成されないようにするには、
AndroidManifest.xmlで、Activityの属性に、
android:configChanges="orientation|screenSize"
をつければよい。
スタイルにNoActionBarを使ってActionBarを非表示にしていると、
Android4.xではopenOptionsMenu()ではオプションメニューが開かない。
変わりにPopupMenuで表示するとよい。
それにしても、AndroidはバージョンによってAPIの動作が変わるので、
開発者泣かせのシステムだと思う。