cutmail's blog

write the code

Titanium Mobile2.1.3でRetina 4-inchかどうかを判別する

Titanium 2.xからレイアウトエンジンが変更されましたが、画面の高さによってViewの高さを変えたい場合があるかと思います。

Titanium 1.x系では

var imageViewHeight;
if (win.height  == 549) {
  imageViewHeight = 548;
} else {
  imageViewHeight = 460;
}

でWindowのheightが取得できましたが、2.x系ではwin.heightでは正しい高さが返ってこないようになっています。

2.x系でRetina 4-inchを判別したい場合は、Ti.Platform.displayCaps.platformHeightで、Windowの高さが取得できました。

こんな感じで。

var isRetina4Inch = function() {
  return Ti.Platform.displayCaps.platformHeight == 568;
};

var imageViewHeight;
if (isRetina4Inch()) {
  imageViewHeight = 548;
} else {
  imageViewHeight = 460;
}

How do I reference iPhone 5-specific images? (Not the Default-568h@2x.png image) » Community Questions & Answers » Appcelerator Developer Center