2016-06-23 25 views
5

Kürzen Sie den Beschriftungstext, um eine Zeile zu bilden. App zeigt Beschreibung, es muss in 2-3 Zeilen angezeigt werden, aber Xamarin "LineBreakMode = TailTruncation" schneidet es ab und beschränkt es auf eine Zeile. Gibt es eine Möglichkeit, Etikettentext zu kürzen und in mehreren Zeilen anzuzeigen. Wenn Text nicht in n Zeilen passt, sollte er abgeschnitten werden.Xamarin Forms - Mehrzeilige Textkürzung

<Label LineBreakMode="TailTruncation" FontSize = "20" Text="Multi line Text" /> 

Danke.

+0

ist SO ein Q & A-Website. Um eine gute Antwort zu erhalten, sollten Sie zuerst eine gute Frage stellen. Was du gepostet hast, ist eine Liste von Anforderungen, keine Frage. – Jason

+0

Es ist die Begrenzung der Xamarin-Formulare als native Android unterstützt mehrzeilige Kürzung. Im nativen Android können wir maxLines verwenden. Wenn Sie die Frage nicht beantworten können, heißt das nicht, dass es keine Frage ist. – Pehlaj

Antwort

1

Ich habe benutzerdefinierte Renderer implementiert, um dies zu behandeln.

http://depblog.weblogs.us/2016/06/27/xamarin-forms-multi-line-label-custom-renderer-gotcha/

//Droid 
public class MultiLineLabelRenderer : LabelRenderer 
{ 
    protected override void OnElementChanged(ElementChangedEventArgs e) 
    { 
     base.OnElementChanged(e); 

     if (Control != null) 
     { 
      Control.LayoutChange += (s, args) => 
      { 
       Control.Ellipsize = TextUtils.TruncateAt.End; 
       Control.SetMaxLines(2); 
      } 
     }; 
    } 
} 
+0

Hi @ user12345, funktioniert das immer für dich? Ich habe den gleichen Renderer implementiert, aber es funktioniert nicht mehr, nachdem ich Xamarin.Forms in meinem Projekt aktualisiert habe. Ich beschreibe dies [hier] (https://stackoverflow.com/questions/46042386/xamarin-forms-the-multilinelo-doesnt-lower-work-on-android) –