Android作業ログ

=前置き=

 今日からしばらくは昨日UPしたmonochrollを単体アプリにするためシーケンスやUIなどを作り込んでいく。

=自前の画像ボタン=

 せっかくなのでボタンの画像は自前のものにしたい。
 普通にやるならイメージボタンを作成する - Androidプログラマへの道 〜 Moonlight 明日香 〜を参考にImageButtonを使えば良さそうだけど、タッチした時などのレスポンスがないらしい。
 ということで、ButtonらしくImageButtonを使ってみるよ - hyoromoのブログを参考にして各種設定をするようにした。

XMLだけで画像の表示=

 レイアウトのXMLだけで(コードは書かずに)画像を表示するのはAndroid 奔走記: ImageView を使ってみたでできた。

=比率を維持しながら拡大縮小するView=

ロゴが潰れないように「比率を維持しながら拡大縮小するView」を作ろうと思ったんだけど、これは普通にImageViewをfill_parentで表示するだけでOKらしい。ボタンなどは伸びて表示されるようだけど、ImageButtonの方はImageViewを継承しているので「android:scaleType="fitCenter"」で同様の対応ができる。たぶん画像系はちゃんとそういう処理ができるようになっているはず。

 一応色々と調べてしまったので以下にメモはしておく。


 Y.A.M の 雑記帳: Android 高さが横と同じになるカスタム ViewGroup を作ってみた。にて「1:1の比率で拡大縮小する方法(っぽいもの)」が説明されている。

 比率を外部から指定できるように引数(というかXMLのAttribute)を設定できるようにする必要があるが、これはAndroid 奔走記: XML でカスタムViewでできた。デフォルト引数はTypedArrayのget〜の2番目の引数に指定すればOK。

 比率を元にサイズを変更してからsuperに渡せばOK。ここらへんは自作Viewのサイズ調整: Android開発だらりんメモView.MeasureSpec  |  Android Developersを見ながらやった。

 ImageViewのスケーリング方法などはUIコンポーネント/ImageView - Android Wiki*がわかりやすい。