Android Developers Blogの最新記事UI framework changes in Android 1.5に、ボタンのデフォルト最少サイズ仕様変更に関する注意事項が書かれています。既にリリースしているアプリケーションをそのまま、Android SDK1.5で動かすと画面が乱れる事があり、その理由と直し方が記載されています。

翻訳作業をしようかと思いましたが、チェックボックス関連の記述で曖昧な部分があったり、不十分な説明があった断念し、ブログの解説の解説、もしくは、パクリ記事のようになっていますがご容赦ください。

UI framework changes in Android 1.5

Android 1.5では、多数の新機能やAPI,バグフィックスだけでなく、UIのデフォルトの外観も変更になった。

以下の画面はContactアプリケーションのNew Contact Activityを画面を表しています。ほとんど別アプリケーションに見えます。(すごく変更が加わったことを表したいのでしょうが、サンプルとしてはもっとわかりやすい物を持ってきてもらいたいです。)

左が1.1の画像で、右が1.5の画像です

new contact sdk1.1 and 1.5

ボタン

ボタンの最小サイズが変更になりました。

最少サイズの横幅が約半分となりました。

  • Android1.1ボタンは、最小サイズが44×48ピクセル
  • Android1.5ボタンは、最小サイズが24×48ピクセル

button image

チェックボックス

チェックボックスも変わったと記載されていますが、「Send calls directly to voice mail」と「Incomming Calls」を比較してみる限り、確かにデザインは多少変わっていますが、取り上げる程の変化はありません。1.1の×ボタンと、1.5のプラスボタンの事を言っているのかと思い、HierachyViewerで確認したところ、両方ともImageButtonで実装されていました(CheckBoxでない)

既存プログラムでの注意

今までのプログラムで、ボタンの最少サイズを考慮した作りになっているのであれば、同じプログラムでも1.1と1.5では見た目が違ってきます。

以下の画像は、画面を見てもらうと良く分かりますが、左が1.1、右が1.5の画面です。
button sdk 1.1 and 1.5

この問題は解決するには、android:layout_weight を使うか、LinearLayoutをTableLayoutに変更することで修正できます。

まとめ

ボタンの実装が、最小サイズに依存しているかどうかなんて覚えてないでしょうから、既にアプリケーションを作成されている方は、確認された方がいいと思います。

タオソフトウェアで公開しているアプリケーションに関しては、特に問題ありませんでした。

その他

Android SDKに付属しているツールのHierachy Viewrは、今までAndroid規模の小さなUIでは必要ないと思っていましたが、今回初めて役に立ちました。1.1と1.5のContactアプリのソース(レイアウトファイル)を比較する作業をしようかと思いましたが、HierachyViewrで簡単に解決できました。

ブログ内のSDK1.5に関連する記事

ブログ内の関連する記事