2011-07-09 42 views
2

我正在用Titanium構建一個應用程序,其中我在啓動時加載了一個大的遠程xml文件。它顯示了通常的Default.png啓動畫面,然後進入窗口,在窗口中顯示它正在加載。但是我想要做的就是讓啓動屏幕保持粘貼狀態,直到xml完全加載。Titanium的iPad/iPhone啓動視圖

現在我對這種做法很簡單,我在一開始創建的ImageView,與作爲爲Default.png像這樣的形象:

var startupView =Titanium.UI.createImageView({ 
image: 'iphone/Default-Portrait.png', 
opacity:1, 
zIndex:2 
}); 

,一旦xhr.onload功能被觸發(意思xml文件滿載),我淡出這個啓動視圖做:

var startupAnimation = Titanium.UI.createAnimation({ 
curve:Ti.UI.ANIMATION_CURVE_EASE_OUT, 
opacity:0, 
delay: 0, 
duration:300 
}); 
startupView.animate(startupAnimation); 

這工作得很好,所有的,但我的問題是,有不同的閃屏尺寸爲不同的平臺。到目前爲止,我在兩個平臺上創建的應用程序都運行良好。在iPad上,屏幕明顯更大,在iphone 4上,與iphone 3gs等相比,視網膜顯示器也更大。因此,我需要想出一些東西來使此代碼在各處都能很好地工作。

我試圖用if (Titanium.Platform.osname == "iphone") {來檢查並將iphone的較小尺寸的初始屏幕加載到imageview中,但不知怎的,它不像它下面的「真實」初始屏幕一樣。因此,用戶看到初始啓動畫面和僞造啓動畫面正在移動。似乎由鈦加載的默認啓動畫面不是Default.png,但它是Default-Portrait.png(它只能用於ipad)

我不知道這一切是否清晰,這裏有人能否和我一起思考,但任何想法都將不勝感激。

回答

1

我對Titanium iPad應用程序做了同樣的事情。我發現我需要創建我自己的'Splash Screen'圖像,而不需要狀態欄的前20px。由於鈦應用程序可以全屏啓動,因此Default-Portrait.png假定它可以是全屏。當您在非全屏應用程序中添加Default-Portrait.png視圖時,它會將其向下移動20px,並將「移位」效果轉移給用戶。

由於您在iPhone和iPad上運行,因此您可能需要爲iPad和iPhone創建新的閃屏。我認爲你可以使用iPhone 4的虛假圖像用於非視網膜顯示器,並讓鈦處理器調整大小。

+0

這樣做的伎倆!值得一提的是,我需要中斷40px而不是20px的(重複)Default.png文件的頂部。可能是因爲視網膜顯示。多謝,夥計! – dandoen

相關問題