在我的跨平台移动应用中,我使用基于设备屏幕尺寸的恒定像素值调整了所有视图的大小。该应用程序应该在许多不同大小的屏幕上运行,但我无法找到任何适合屏幕大小的视图。
到目前为止,我最好的尝试是在登录页面上存储StackLayout的高度和宽度的值,并相对于这些值调整视图的大小,但我得到的值都不正确-1。这是我使用的代码:
var Test = new StackLayout
{
HorizontalOptions = LayoutOptions.CenterAndExpand,
VerticalOptions = LayoutOptions.CenterAndExpand,
}
double ScreenHeight = Test.Height;
double ScreenWidth = Test.Width;
答案 0 :(得分:0)
您将获得-1,因为视图的宽度和高度将仅在屏幕出现后设置,否则Xamarin.Forms将不会事先知道这些值。
解决方案可以实现任何给定视图的OnAppearing事件(在本例中为Test),在该方法中,您可以获得Width和Height。