我正在使用Xamarin.forms进行应用程序。 我正在做的事情真的很难。到目前为止无法弄清楚。
我想在scrollview(垂直)中添加两个视图(或页面),每个视图的大小与屏幕大小相等。因此,如果我向下滚动,第二个视图将显示,第一个视图将被隐藏。
如何使用xaml制作它?
我尝试了stacklayout,grid,relative,absolute。 什么都行不通。 (我相信有一些方法可以做到这一点)
感谢。
答案 0 :(得分:2)
我用于此的解决方案是,在StackLayout
内创建一个垂直方向的ScrollView
。在里面我有两个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中进行。
在FinishedLaunching
内的iOS上:
App.ScreenHeight = (int)UIScreen.MainScreen.Bounds.Height;
在MainActivity
内的Android上(需要调整+ 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。