2017-04-05 8 views
0

PCLプロジェクトに文字列の長さを見つける方法はありますか? Applicationクラスを使用してデバイスのページの幅と高さを取得できますが、文字列の測定方法を知ることはできません。Xamarin.FormsのPCLに文字列の長さを取得するには?

P.S.私はユーザーのデバイスがフルテキストを表示できるかどうか知りたい。

+0

'System.String'は、あなたが探しているものである' Length 'プロパティを持っています – maccettura

+0

レンダリングされた文字列のピクセル数を意味しますか? – Jason

+0

@Jasonはい、ピクセルサイズについて言いました。私は自分のデバイスが指定された文字列を1つの画面ページに含むことができるかどうかを知る必要があります。 –

答えて

1

これは、独自のプラットフォームごとに行われる必要があり、あなたがこのようなPCLインタフェースます

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

をして、Android上の例のコードは次のようになります: ``パブリッククラスCalculateTextWidth_Android: CalculateTextWidth {パブリック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

関連する問題