Medoly Ver. 1.8.0

1ヶ月ぶりぐらいのバージョンアップ。

2014-12-22 Ver. 1.8.0
– ピンチイン・ピンチアウトによる画面表示サイズ変更の追加
– スワイプ操作による画面切換の追加
– 音声フォーカスの一時喪失の処理が誤っていた問題修正

ピンチイン・ピンチアウトによる画面表示サイズ変更の追加

これはユーザ様からの要望です。
メイン画面のタブ枠内で、縦方向のピンチアウト・ピンチイン操作を行うと、タブの表示領域を拡大・縮小します。以前の設定オプションの表示拡大を拡張し、段階的に出来るようにした形です。
Android画面の、上方向のステータスバー及び下方向のナビゲーションバーまで非表示になります。なお、Android 4.4より前のバージョンではナビゲーションバーを非表示にしても、画面をタップするとナビゲーションバーは復活しますが、これは仕様です。また、画面を横した場合はナビゲーションバーが横になりますが、その場合も操作は変わらず下方向の操作となります。…一々操作を切り替えるのは、作る側も操作する側も面倒臭いですから。

なお、このピンチイン・ピンチアウト動作については少し変わった動作をします。2本以上タップした状態で、上側の指を上方向に動かすと、上側のアクションバー及びステータスバーが非表示になり、下側の指を下方向に動かすと、下側のGUI及びナビゲーションバーが非表示になります。非表示になる順番を以下の図に示します。

ピンチズームで拡大・縮小する順序

ちなみに、最大まで拡大すると、以下のような感じになります。

スワイプ操作による画面切換の追加

これは、上記のピンチズーム動作の追加に伴うもので、メイン画面タブ内をスワイプすると、タブの切換が行われるようになりました。これは、ピンチズームで画面を最大まで引き伸ばすとタブが隠れるため、その際にタブ切換が行えるようにする救済措置的な意味があります。
…実はこのスワイプ操作、最初の公開前の開発段階で実装するつもりではいたのですが、作り方がよく分からず後回しにした経緯があり、やっと実装できたという感じです。実際、スワイプやスクロール、クリック、ピンチズームといった各種操作を細かく制御する必要があり、ちょっと難しかったのですが、何とかそれっぽく動くようにはできたと思います。

なお、この実装にはAndroidのサポートライブラリが必要だったため、このバージョンより「android-support-v13.jar」を追加しています。そのため、実行APKのサイズが350KBほど増加しています。
今まで使ってなかったのかと言われそうですが、使わなくてもさほど困らなかったもので。そもそも、どうしてViewPagerクラスがサポートライブラリにしか含まれていないのか、その辺の理由がよく分かりません。

余談ですが、スワイプ操作ができるようになった事で、何か凄くスマートフォンアプリっぽくなったなぁ、と個人的に思ってます。今までは何となく、Windowsアプリケーションの延長線ぐらいの感覚だったのですが。

音声フォーカスの一時喪失の処理が誤っていた問題修正

アプリの標準状態で、他のアプリで一時的な音声が発生した場合、例えばメール通知やナビゲーション音声が発生した場合、音楽再生が中断していたと思いますが、これはバグでした。本来、一時的な音声フォーカスの喪失が発生した場合、音量を下げる処理を入れるつもりだったのですが、これが永続的な音声フォーカスの喪失の処理となってしまっていました。
そのため、今までの状態はメールの通知等で音楽が中断される状態となっていたと思いますが、これが音量を下げるようになりました。

その他

現在、アプリに別の処理を組み込んでいます。実はもう9割ぐらい実装済みなのですが、公開はもう少し先になると思います。とりあえず現在は埋め殺し状態です。現状でも、別途アプリを入れると動くようになりますが…。
その辺の兼ね合いでバグが発生する可能性もありますが、問題があれば報告していただけると幸いです。