如何将字符串的长度转换为Xamarin.Forms的PCL?

时间:2017-04-05 14:32:01

标签: c# xamarin xamarin.forms

有找到PCL项目中字符串长度的方法吗?我可以使用Application课程获取设备页面的宽度和高度,但我不知道如何测量字符串。

P.S。我想知道用户的设备是否可以显示全文。

1 个答案:

答案 0 :(得分:1)

这需要单独为每个平台完成,你可以创建一个这样的PCL界面:

public interface CalculateTextWidth
{
    double calculateWidth (string text);
}

然后例如在android上代码将是这样的:``public class CalculateTextWidth_Android:CalculateTextWidth { public CalculateTextWidth_Android(){}

    public double calculateWidth (string text)
    {
        Rect bounds = new Rect();
        TextView textView = new TextView(Forms.Context);
        textView.Paint.GetTextBounds(text, 0, text.Length, bounds);
        var length = bounds.Width();           
        return length / Resources.System.DisplayMetrics.ScaledDensity;
    }

请参阅此链接以获取更多信息和其他平台实施 how-to-get-the-length-of-a-string-into-pcl-of-xamarin-forms