summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Platform.Android/Extensions/TextViewExtensions.cs
blob: 008470411e15f7cb63c1a0da3303ef3430a08f1d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
using Android.Text;
using Android.Widget;

namespace Xamarin.Forms.Platform.Android
{
    internal static class TextViewExtensions
    {
		public static void SetLineBreakMode(this TextView textView, LineBreakMode lineBreakMode)
		{
			switch (lineBreakMode)
			{
				case LineBreakMode.NoWrap:
					textView.SetMaxLines(1);
					textView.SetSingleLine(true);
					textView.Ellipsize = null;
					break;
				case LineBreakMode.WordWrap:
					textView.Ellipsize = null;
					textView.SetMaxLines(100);
					textView.SetSingleLine(false);
					break;
				case LineBreakMode.CharacterWrap:
					textView.Ellipsize = null;
					textView.SetMaxLines(100);
					textView.SetSingleLine(false);
					break;
				case LineBreakMode.HeadTruncation:
					textView.SetMaxLines(1);
					textView.SetSingleLine(true);
					textView.Ellipsize = TextUtils.TruncateAt.Start;
					break;
				case LineBreakMode.TailTruncation:
					textView.SetMaxLines(1);
					textView.SetSingleLine(true);
					textView.Ellipsize = TextUtils.TruncateAt.End;
					break;
				case LineBreakMode.MiddleTruncation:
					textView.SetMaxLines(1);
					textView.SetSingleLine(true);
					textView.Ellipsize = TextUtils.TruncateAt.Middle;
					break;
			}
		}
    }
}