Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用dp中的Ti.UI.SIZE而不是Ti中的像素_Android_User Interface_Titanium - Fatal编程技术网

Android 使用dp中的Ti.UI.SIZE而不是Ti中的像素

Android 使用dp中的Ti.UI.SIZE而不是Ti中的像素,android,user-interface,titanium,Android,User Interface,Titanium,我想在dp(密度独立像素)中使用Ti.UI.SIZE,而不是像素来支持所有android不同的分辨率,我有一个imageView,它从url获取图像,所以我不知道图像的宽度或高度,因此我将它们设置为Ti.UI.SIZE,它在iphone上运行良好,但问题在于android 那么,在dp中使用Ti.UI.SIZE而不是使用像素吗 提前谢谢 一个好的解决方案是将“dp”作为默认单位,而不是像素 只需打开tiapp.xml,将字符串“system”或“px”改为“dp” <property na

我想在dp(密度独立像素)中使用
Ti.UI.SIZE
,而不是像素来支持所有android不同的分辨率,我有一个imageView,它从url获取图像,所以我不知道图像的宽度或高度,因此我将它们设置为
Ti.UI.SIZE
,它在iphone上运行良好,但问题在于android

那么,在dp中使用
Ti.UI.SIZE
而不是使用像素吗


提前谢谢

一个好的解决方案是将“dp”作为默认单位,而不是像素

只需打开tiapp.xml,将字符串“system”或“px”改为“dp”

<property name="ti.ui.defaultunit" type="string">system</property>
系统
换成

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

图像的实际大小是绝对的,因此dp与像素之间没有意义。看起来你想要缩放图像(看起来很糟糕)或者重新设计android界面。我认为这是错误的,我做的一个测试是放置一个我知道大小的图像,如果我只是放置它而没有dp,它将以像素的形式处理度量,并以较小的尺寸显示,如果我输入了它们的宽度和高度,并以dp结尾,如
宽度:“148dp”,高度:“100dp”
,它们会以我需要的大小显示,或者它们在iphone中的外观相同。图像具有绝对大小。因此,如果在更高分辨率的屏幕上显示为无刻度,则屏幕看起来会更小。如果在高分辨率屏幕上以与密度无关的像素指定图像大小,则图像将放大;如果在非视网膜iphone上以dp指定图像大小,则图像将相同,即未缩放。您可以在TiApp.xml中将
px
更改为
dp
。注意:它将使默认单位从像素变成dp,这很好,非常感谢,我将默认单位改为dp而不是px,这正是我想要的。