首页 > 解决方案 > 如何为 Xamarin 表单中的条目提供动态填充?

问题描述

如何在 Xamarin 表单中为每个移动屏幕尺寸上看起来相同的条目提供动态填充?我正在尝试使用 EntryRenderer 以这种方式应用填充。

Control.SetPadding(20,20,0,0);

在小屏幕尺寸上它看起来很完美,但在大屏幕尺寸上它表现不同并且看起来很奇怪。

标签: xamarinxamarin.formsxamarin.androidpadding

解决方案


Xamarin.Essentials nuget具有获取设备显示信息的功能。

使用Xamarin.Essentialsnuget 时,请确保遵循他们的入门步骤

您可以使用它来获取有关屏幕的信息,例如:

var screenWidth   = DeviceDisplay.ScreenMetrics.Width; // in pixels
var screenHeight  = DeviceDisplay.ScreenMetrics.Height: // in pixels
var screenDensity = DeviceDisplay.ScreenMetrics.Density;

然后使用该信息的某种组合来设置您的填充:

if(screenWidth <= 400)
{
    Control.SetPadding(20,20,0,0);
}
else if(screenWidth > 400 && screenWidth < 500)
{
    Control.SetPadding(30,20,0,0);
}
else if // continue with whatever conditions need checked

请注意,我screenWidth在示例中使用了,但screenDensity可能更适合您的问题。您可能需要调整几次,直到找到有效的方法。


推荐阅读