在 android & iOS Titanium 上实现相同的布局

achieve same layout on android & iOS Titanium

我正在使用钛创建一个 ios、android 应用程序,所以我使用 platformWidth 和 [=14 将我的 ui 视图定位在屏幕尺寸的特定百分比上=]乘以一个数 例如0.5*platformHeight 用于屏幕中间,所有东西都适用于所有 iOS 尺寸的设备。
但是在 android 设备上这个值变得太大

Note i m using "dp" as a default unit 

关于如何以这种方式实现相同布局的任何想法

来自 platformHeight 上的 Titanium 文档:

Absolute height of the display in relation to UI orientation. Measured in platform-specific units; pixels on Android and density-independent pixels (dip) on iOS.

因为 Titanium 使用像素,所以您还需要在 Android 上使用像素,否则对于大多数 phone 来说,值会太大。 dp 基于屏幕的密度,因此 100 dp 在每个 phone.

上的物理尺寸都有些相同

可在此处阅读更多相关信息: http://developer.android.com/guide/practices/screens_support.html

您实际上可以使用百分比作为位置属性的值。例如 top : '40%'。该百分比是根据 parent 计算得出的。如果您没有指定任何默认位置,则视图将位于 parent 的中心,除非 parent 是垂直或水平布局。

您还指定了如下默认单位吗?

<property name="ti.ui.defaultunit">dp</property>

如果是这种情况,那么可能会发生这种情况。假设设备高度是 800px。减半得到 400 px。这是您期望的值。但是,当您再次将此值分配给视图时,它会转换为 DP。所以,结果是 400 x 设备密度,肯定会大于 400。要克服这个问题,您可能必须分配 属性 类似 top: 0.5*platformHeight+'px' 的内容。我不确定这个技巧是否有效,因为我没有测试它的设置。

阅读@Malcolm 的详细回答,得到许多人的同意experts.He 此回答已被多次投票

https://developer.appcelerator.com/question/148337/how-to-achieve-same-layout-for-android-and-iphone-using-titanium

谢谢