更改每个屏幕尺寸xamarin形式的标签大小

时间:2017-09-21 16:11:54

标签: c# xaml xamarin layout xamarin.forms

我使用xamarin.forms做一个应用程序,我觉得使用相同的大小来写信给ios设备是行不通的:7号加上它运行良好,但在iPhone 5上它是' sa屏幕大小的大字母...... 有人知道如何使用可伸缩大小的字母,或更改特定设备或屏幕大小类型的大小? 非常感谢你。

1 个答案:

答案 0 :(得分:5)

您可以参考以下样本:

  1. 估算视觉一致性的字体大小 - (docs | github

    // Resolution in device-independent units per inch.
    double resolution = 160;
    
    // Do some numeric point sizes.
    int[] ptSizes = { 4, 6, 8, 10, 12 };
    
    // Select numeric point size you need from ptSize[] array 
    double ptSize = 4;
    
    // this is your new visually consistent font-size.
    var fontSize = resolution * ptSize / 72; 
    
  2. 将文字拟合为可用尺寸 - (docs | github

    double lineHeight = Device.OnPlatform(1.2, 1.2, 1.3);//TODO: Change this to Device.RuntimePlatform
    double charWidth = 0.5;
    
    int charCount = text.Length;
    
    var view = this.Parent;
    // Because:
    //   lineCount = view.Height / (lineHeight * fontSize)
    //   charsPerLine = view.Width / (charWidth * fontSize)
    //   charCount = lineCount * charsPerLine
    // Hence, solving for fontSize:
    int fontSize = (int)Math.Sqrt(view.Width * view.Height /
                        (charCount * lineHeight * charWidth));