前人未踏の領域へ Androidアプリ開発編

Androidアプリ開発に関する調査メモ置き場。古い記事にはアプリ以外も含まれます。

回転型ProgressBarの話

Androidアプリにはネットワークとの通信中やその他の時間のかかる処理を実行する際に処理中を表す画像を表示するのがセオリーである。これをProgressBarと読んでいるが、単に円が回転するものとバータイプの者がある。で、今回は回転型ProgressBarについて。

Androidではこの回転型ProgressBarを背景色に合わせて2種類デフォルトで用意してくれている。なぜ2種類かというと暗いテーマのときは明るい回転画像を、明るいテーマの時には暗い回転画像を使わないと回転が見えないからである。で、開発者はこれをスタイルの切り替えで対応するのである。



上記はLayoutファイルの断片だが、ProgressBarタグのstyle属性を見てもらうと2つ目の方には「Inverse」がついている。これが明るい背景(テーマ)用のものだ。

実はこれ以外にもう一つ対応方法がある。それはApplicationのテーマを設定する方法だ。



Blackが黒背景、Lightが白系の明るい背景用だ。Androidが書くWidget用にスタイルを切り替えてくれるので、ProgressBarについてもよろしくやってくれる。

で、何が実際に表示される画像がこちら

spinner_black_48.pngと



spinner_white_48.pngだ。数字は画像サイズ。spinner_white_48.pngは白くて視認できないので背景色を変えてある。

しかし、AndroidのVer2.3以降でこれらの問題は実は気にしなく良くなっている。

spinner_black_48.pngと

spinner_white_48.pngだ。違いはナッシング。

最初からこうしといておくれよGoogleさん。ProgressBarの画像問題をv2.3でテストしてたからスタイル変更が全然適用されなくて無駄に時間を使ったじゃないかorz。