[英]How to scale layout proportionally to screen's physical size?
需要整個布局寬度與任何設備的屏幕的縱向物理寬度完全相同,因此 DPI、屏幕尺寸、像素縱向寬度或寬高關系都無關緊要。
我現在要做的就是通過將下一個代碼添加到 MainActivity.cs 來覆蓋用戶的 Android 配置中的字體大小:
public override Resources Resources
{
get
{
Configuration config = base.Resources.Configuration;
if (config == null)
{
config = new Configuration();
}
config.FontScale = 1f;
return CreateConfigurationContext(config).Resources;
}
}
這取得了很大的進步,但仍然可以看到不同設備之間的很多差異,這些設備可能有更長或更短的屏幕、更大或更小的 DPI 以及不同的尺寸。 例如來自模擬器的設備 Pixel 2,它具有 1080x1920 分辨率和 420 dpi,布局非常適合(我就是這樣做的),但是當我在物理設備 Redmi 9 1080x2340 分辨率和 395 dpi 中嘗試時(大約 3 毫米更大的縱向寬度) ,布局變大了一點,元素放不進去。
如何使布局寬度與物理尺寸成比例縮放,以便無論設備如何,它都可以始終適合縱向模式的寬度?
您可以嘗試使用 ConstraintLayout 的百分比或比率維度屬性。
約束布局: 約束布局
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.