2016-06-23 11 views
5

Obcięcie tekstu etykiety powoduje utworzenie jednej linii. Aplikacja pokazuje opis, musi być wyświetlana w 2-3 liniach, ale Xamarin "LineBreakMode = TailTruncation" obcina ją i ogranicza do jednej linii. Czy istnieje sposób na obcinanie tekstu etykiety i wyświetlanie w wielu wierszach. Jeśli tekst nie mieści się w n liczbie wierszy, powinien zostać obcięty.Formularze Xamarin - Obcinanie tekstu wieloliniowego

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

Dzięki.

+0

SO Q i lokacji. Aby uzyskać dobrą odpowiedź, powinieneś najpierw zadać dobre pytanie. To, co publikujesz, to lista wymagań, a nie pytanie. – Jason

+0

To ograniczenie form xamarin, ponieważ natywny Android obsługuje skracanie wielolinii. W natywnym Androidzie możemy używać maxLines. Jeśli nie możesz odpowiedzieć na pytanie, nie oznacza to, że nie jest to pytanie. – Pehlaj

Odpowiedz

1

Mam zaimplementowany niestandardowy renderer do obsługi tego.

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, czy to zawsze działa dla Ciebie? Zaimplementowałem ten sam mechanizm renderowania, ale nie działa on już po zaktualizowaniu pliku Xamarin.Forms w moim projekcie. Opisuję to [tutaj] (https://stackoverflow.com/questions/46042386/xamarin-forms-the-multilinelabel-doesnt-longer-work-on-android) –

Powiązane problemy