CalendarView rev4
最近の縦方向に解像度が高い端末で見ると下方向が空いて:=カレンダーが圧縮されたように見える、とのことなので、ソースコードを見直してみた。
内部ViewFlipperのレイアウトパラメタをFILL_PARENTにした。(設定忘れてたという...)
これにより、コンテナが許可すれば親のViewの高さ一杯まで伸張して描画される。
ただし、リポジトリに上げているCalendarViewTestプロジェクトで使用しているレイアウトmain.xmlはルートのScrollView(MotionalScrollView)の属性"FillViewPort"がfalseになっており、このままではFILL_PARENTを指定しても意味が無い。
その場合は同MotionalScrollViewの同属性をtrueにセットすることで縦方向が伸張して描画される。
<org.kazzz.view.MotionableScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/ScrollView01" android:layout_height="fill_parent" android:layout_width="fill_parent" android:fillViewport="true"> 〜
実行結果 | 変更前 |
---|---|
縦方向に伸張されているのが解るだろうか。
個人的にはどんな解像度の端末でもカレンダの1日(1セル)が正方形で描画されたほうが綺麗なんだが、レイアウトとその上に配置されるViewの振る舞いとしてはこちらが正しいんだろうな。
Android Calendarview - Project Hosting on Google Code
追記:
実行結果のスクリーンショットをアップしていてandroid sdk 1.6でビルドした際と同2.2でビルドした場合でカレンダーの背景色が違うことに気がついた。
android 1.6にてビルド | android 2.2にてビルド |
---|---|
最初は目の錯覚かと思ったが、android 1.6でビルドした側は明らかに青みがかっている。背景の塗り潰し、透過の描画に何か変更があったのだろうか。
追追記:
Nexus oneでも標準のブラウザを使ってこのエントリを見てみたが、android 1.6でビルドした側がまともな白色に見え、android 2.2では紫がかって見えた。訳がわからん。
そもそも私のPCのカラーマネジメントが異常なのかもしれない。