Posted at

ti.ui.defaultunitをdipにした場合の取得サイズ

More than 5 years have passed since last update.

完全なる未検証のメモ。今後時間ができたら検証していく。

iOS と Android 両対応のアプリを Titanium Mobile で作る場合、単位系の指定は dp 一択だと思う。(オレ調べ)

その場合、いちいち TSS とかに dp と書くのは面倒なので、tiapp.xml にこんな指定をすると思う。少なくとも僕はしてる。


tiapp.xml

<property name="ti.ui.defaultunit" type="string">dip</property>


これでデフォルトの単位が dp になり、いちいち dp って書かなくていいぞヒャッホーーーー!!・・・と言いたいところなんだけど、プロパティやメソッドによっては、システムデフォルトユニットでしか取れないものも存在する。ちなみにシステムデフォルトユニットは、iOSが dp で、Android は px です。

それがかなりややこしかったので、とりあえず今ハマってるところだけでもメモしておく。

メソッド・プロパティ
iOS
Android
備考

Alloy.PA.View.deviceWidthとHeight
dp
px

view.rect.xとかwidthとか
dp
dp
Android自信なし

touchmoveとかのイベントxやy
dp
px

ImageView.toBlog().widthとかheight
px
px