Titanium mobile Androidの画面サイズの縦・横サイズを取得する時は解像度に注意
[Android] 普通に画面サイズを取得すると解像度の問題でちょっとおかしくなる
縦・横の取得方法はこのように。
var width = Titanium.Platform.displayCaps.platformWidth; var height = Titanium.Platform.displayCaps.platformHeight;
解像度の種類
ldpi mdpi hdpi xhdpi xxhdpi xxxhdpi
6種類あるらしい。それぞれのピクセルの密度(dpi)は
ldpi : 120dpi (まあもう使われてない) mdpi : 160dpi (これが基準、1とする) hdpi : 240dpi (1.5倍) xhdpi :320dpi (2.0倍) xxhdpi : 480dpi (3.0倍) xxxhdpi : 640dpi (4.0倍)
縦・横サイズの矯正
デバイス依存の差異を修正する
こんな感じで修正する事にした
var dpi = Titanium.Platform.displayCaps.dpi; var reso_ratio = dpi/160; var width = Titanium.Platform.displayCaps.platformWidth/reso_ratio; var height = Titanium.Platform.displayCaps.platformHeight/reso_ratio;
これで、上に書いたbuttonは期待通りの大きさに修正されました。
めでたし。