我已经设法在ScrollView中创建一个GridView,它使用8行行高250(绝对值)。这很好,直到我意识到它不适用于不同分辨率的屏幕。如何创建一个有8行的网格视图,但每行占用屏幕的一半,所以你必须向下滚动才能看到其余的行?使用8行高度“*”只需在视图上放置8行而不进行滚动。我正在使用xaml,但如果需要可以使用c#。
答案 0 :(得分:1)
您可以访问设备的屏幕高度,因此计算0.5 *高度并将其设置为行高:
static public int ScreenHeight;
然后您需要为iOS和Android设置变量的值。
protected override void OnCreate(Bundle bundle)
{
base.OnCreate (bundle);
global::Xamarin.Forms.Forms.Init(this, bundle);
App MyApp = new App();
App.ScreenHeight = (int)(Resources.DisplayMetrics.HeightPixels / Resources.DisplayMetrics.Density);
}
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
App.ScreenHeight = (int)UIScreen.MainScreen.Bounds.Height;
global::Xamarin.Forms.Forms.Init();
LoadApplication(new App());
return base.FinishedLaunching(app, options);
}
ScreenHeight
并根据您的需要进行计算public int HalfScreenHeight
{
get { return App.ScreenHeight / 2; }
}
最后,你的行高可以HalfScreenHeight
。
重要事项:如果您在页面上允许设备旋转纵向和LandScape模式,则可能需要根据需要更新绑定。您可以以相同的方式访问屏幕的宽度。