2012-05-10 50 views
1

請原諒我,如果這是一個愚蠢的問題。我對移動開發有點新興。Adob​​e Flex Mobile 4.6 - iPad上的元素定位與Android或BlackBerry似乎關閉

我試着用Adobe Flex 4.6爲iPad,Android和BlackBerry PlayBook設備構建應用程序。

我剛剛構建了一個真正的快速和骯髒'你好世界!'應用程序開始。我在頁面上放置了一個圖像,一個按鈕和一個文本框,使它們都居中。我將應用程序DPI設置爲160.

現在,當我在PlayBook上運行應用程序時,一切看起來都很好,很棒。我打算從同事那裏獲得iPad來測試,但我在另一個開發人員的iPod Touch上測試了它,而且該應用程序根本沒有很好的擴展性。圖像和文本框的位置關閉,文本框甚至超過了圖像的頂部。

我跑了幾次Flash模擬器來模擬Galaxy Tab 10.1,並且元素看起來不錯,但由於屏幕尺寸較大,所以元素看起來偏離中心。所以這個應用程序根本不可擴展。

我在這裏錯過了什麼嗎?

編輯:

<?xml version="1.0" encoding="utf-8"?> 
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
      xmlns:s="library://ns.adobe.com/flex/spark"> 
<s:Label x="323" y="365" width="377" height="40" fontSize="36" text=""  
    textAlign="center" verticalAlign="middle" id="label1" /> 
<s:TextInput id="textbox1" x="365" y="227"/> 
<s:Button id="button" x="433" y="289" width="159" label="Button" 
      click="button_clickHandler(event)"/> 
</s:Application> 
+1

你能提供你的代碼嗎? – Art

+0

我發現使用applicationDPI會導致比解決佈局時更多的問題。我強烈建議不要使用它。此外,模擬器中很多古怪的東西都沒有在實際設備上展示;所以儘可能避免。 – JeffryHouser

+1

添加了代碼片段。我刪除了一些不相關的代碼,但那是它的主旨。 – CodeCanuck

回答

2

如果你想在你沒有使用絕對座標,所有決議案的應用中心。你需要使用佈局。像這樣的例子:

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
       xmlns:s="library://ns.adobe.com/flex/spark"> 

    <s:layout> 
     <s:VerticalLayout verticalAlign="middle" horizontalAlign="center" /> 
    </s:layout> 
    <s:Label width="377" height="40" fontSize="36" text=""  
      textAlign="center" verticalAlign="middle" id="label1" /> 
    <s:TextInput id="textbox1" /> 
    <s:Button id="button" width="159" label="Button" 
       click="button_clickHandler(event)"/> 
</s:Application> 
+0

你是對的,使用佈局應該是首選。但是根據我的理解,如果你設置了'applicationDpi'屬性,絕對座標也應該可以工作。我在這裏弄錯了什麼? – micha

+0

@micha根據ApplicationDPI的文檔,您的理解是正確的;但是它給我帶來了各種移動應用程序的佈局問題;所以我不推薦使用它。 – JeffryHouser

+0

謝謝,藝術和傑弗裏。我會嘗試這種方式並回報。 – CodeCanuck