Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.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
Apache flex Flex移动应用程序文本输入宽度问题_Apache Flex_Mobile_Width_Textinput - Fatal编程技术网

Apache flex Flex移动应用程序文本输入宽度问题

Apache flex Flex移动应用程序文本输入宽度问题,apache-flex,mobile,width,textinput,Apache Flex,Mobile,Width,Textinput,我制作了一个简单的Flex移动应用程序来测试TextInput字段。我用宽度=高度=100%定义视图,并使用垂直布局。在内部,我只是简单地放置宽度分别为100、200、300、400的静态TextInput组件。 我还在文本属性中显示每个TextInput的宽度,并显示我定义的值。困扰我的是文本字段的实际宽度与我正在运行的手机模拟器(三星Epic WxH=480x775)或实际设备的属性不匹配。例如,宽度为400的TextInput完全超出设备的左右两侧,而它应该包含在设备内部:它有400像素宽

我制作了一个简单的Flex移动应用程序来测试TextInput字段。我用宽度=高度=100%定义视图,并使用垂直布局。在内部,我只是简单地放置宽度分别为100、200、300、400的静态TextInput组件。
我还在文本属性中显示每个TextInput的宽度,并显示我定义的值。困扰我的是文本字段的实际宽度与我正在运行的手机模拟器(三星Epic WxH=480x775)或实际设备的属性不匹配。例如,宽度为400的TextInput完全超出设备的左右两侧,而它应该包含在设备内部:它有400像素宽,设备有480个可用像素。所有其他文本输入也是如此。它们看起来应该更宽一些。这里有什么问题?我错过了一些琐碎的事情吗?谢谢。

事实上,这让一切都不同了。创建应用程序时,如果选中“自动缩放其他DPI”框,则会在ViewNavigator应用程序上设置此属性

applicationDPI=“160”


如果我没有选中未添加该属性的复选框,并且我得到了包含该属性时您所期望的行为,并且/或者我确实选中了该复选框,那么它正在调整像素值,假设我为160 DPI屏幕编写了该复选框,现在它需要缩放320 DPI屏幕的值。

在设置移动应用程序时,我注意到自动缩放不同DPI的选项,默认情况下,它似乎未被选中,但可能这导致了您的问题,在他们的“了解更多”链接中,它将您带到这里:我仍将尝试复制您的所见,出于好奇我也在我的手机上运行了这个家伙,只是为了见鬼,有一个Galaxy Nexus,500大约是我没有设置160 DPI应用程序大小的屏幕的3/4,我看到500框超出了屏幕宽度(这是没有意义的,除非由于屏幕密度的差异,它可以扩展到1000像素)。创建一个简单的移动应用程序并测试它是多么容易,这真是令人惊讶。如果我在自己的工作上不是那么懒的话,我现在可能已经做了一些很棒的事情了。。。也许是一个更好的堆栈溢出应用程序:),尽管我不认为你可以用这种方式创建小部件。。。当然詹姆斯·沃德也谈到了:)嗨,肖恩,谢谢你的快速回复。所以,基本上你是这么说的。如果applicationDPI设置为某个值,例如:160。Flex将根据其运行时DPI使用runtimeDPI/ApplicationAndPI的比率来扩展每个组件?例如,如果我将applicationDPI设置为160,并创建一个宽度为100的控件。在运行时,在具有240 DPI的设备上,flex将我的控件宽度缩放为100*240/160=150个设备像素?如果我们希望控件在不同的设备DPI上具有相同的物理尺寸,我想这是有意义的。但是,在为移动设备编码时,我们不应该再依赖于以像素表示宽度/高度等属性。这是否意味着,在使用applicationDPI时,我们应该避免完全基于像素的测量,并使用百分比和上/下/左/右约束作为唯一选项?如果我在flex文档中对此不清楚,很抱歉。这取决于应用程序和布局。在某些情况下,它自动为您进行的缩放是有益的,如果它给您带来了问题,您可以简单地不指定应用程序DPI,但是设置了显式大小的任何内容都不会根据屏幕而改变。由于显示Android应用程序的屏幕种类繁多,我认为您通常希望基于约束,但大量测试是找出针对给定问题的最佳解决方案的唯一真正方法。对不起,我知道这也不是一个明确的答案,但这要视情况而定。