2016-06-25 25 views
0

我正在使用Xamarin.forms使用應用程序。 我在做什麼真的很難。目前無法弄清楚。如何在Xamarin.forms的scrollview(垂直)中添加兩個完整大小的頁面?

我要添加兩個視點(或頁)到每個視圖的滾動視圖(垂直)和大小與屏幕大小相等。所以如果我向下滾動,第二個視圖顯示並且第一個視圖將被隱藏。

如何使用XAML做到嗎?

我試過stacklayout,網格,相對的,絕對的。 沒有用。 (我相信有一些方法來做到這一點)

感謝。

+0

使用含有包含兩個內容查看一個StackLayout滾動型,各大小以填滿整個屏幕 – Jason

+0

@Jason您好,我試了一下,真的希望會工作,但它不工作。它只是創建兩個contentView的一半大小的屏幕。 –

+0

我認爲你正在尋找的是旋轉木馬視圖,而不是滾動視圖。 檢查此鏈接http://chrisriesgo.com/xamarin-forms-carousel-view-recipe/ – BraveHeart

回答

2

我用這,創建一個StackLayoutScrollView內垂直方向的解決方案。在裏面我有兩個StackLayout

<ScrollView> 
    <StackLayout Orientation="Vertical" Spacing="0"> 
     <StackLayout x:Name="FirstStack" BackgroundColor="Red"> 
     </StackLayout> 
     <StackLayout x:Name="SecondStack" BackgroundColor="Blue"> 
     </StackLayout> 
    </StackLayout> 
</ScrollView> 

在此之後,我設置編程爲每頁Height

爲了獲得屏幕Height我做了它更簡單的方法(只是爲了測試它),但你應該在better way做到這一點。

在iOS裏面FinishedLaunching

App.ScreenHeight = (int)UIScreen.MainScreen.Bounds.Height; 

在Android裏面MainActivity需要進行調整+ 0.07f):

App.ScreenHeight = (int)(Resources.DisplayMetrics.HeightPixels/(Resources.DisplayMetrics.Density + 0.07f)); 

在你Application

public partial class App : Application 
{ 
    public static int ScreenHeight; 

最後在Page

public ScrollVerticalPage() 
{ 
    InitializeComponent(); 
    FirstStack.HeightRequest = App.ScreenHeight; 
    SecondStack.HeightRequest = App.ScreenHeight; 
} 

最終結果here

+1

再次感謝@jzeferino。這是正確的,好方法。我真的很感激。 –

+1

在Android上它並不完美,但它的測試更多一點,並試圖將Android像素和xforms大小的轉換聯繫起來。謝謝。 – jzeferino

相關問題