2012年2月7日火曜日

TBi11Mで解像度別drawableが適用されない

まぁこの機種に限ったことでは無いのかもしれないけど。
TBi11MはモトローラのAndroidタブレットの事です。

で、こいつはどうもmdpiな機種の様なので、hdpiな機種とはレイアウトを分けて対応することに。
ビットマップはViewに直接張る奴と、プログラムでSurfaceViewに直接描く奴があるので、
前者は drawable-hdpi に入れて自動スケーリングを期待。
後者については drawable-nodpi に放り込んでみました。

結果、前者は良いのだが後者がダメ。
追いかけてみると、リソースから取得したビットマップが見事にスケーリングされている。
(元は128x128が85x85に)

プログラム描画処理の方は128x128前提で描いているので当然ひどいことに。
まぁ、Density見て補正すりゃいいんですが、それはここでは問題ではない。

問題は、「何故drawable-nodpiに入れたビットマップがスケーリングされてるの」ということ。
どう調べてもこの動作には納得がいかない…。

機種固有の問題なのか、Android3系の問題なのか、実は元々そうなのか。

なお、hdpiとnodpiに分けないで、全てのビットマップをnodpiに放り込むと問題無くなる。
この場合はスケーリングされない訳で。ますますわけわからん。
解像度の混在が出来ないの?

結局の所はとりあえず全部nodpiで行ってみることにしました。