如何解决BufferType.Normal 和 BufferType.Spannable 对 textView 的影响
TextView tv1 = FindViewById<TextView>(Resource.Id.textView1);
tv1.Text = "Text";
SpannableString wordtoSpan = new SpannableString(tv1.Text);
wordtoSpan.SetSpan(new Underlinespan(),tv1.Text.Length,0);
tv1.SetText(wordtoSpan,TextView.BufferType.normal);
无论我使用BufferType.normal
还是BufferType.Spannable
,文字下方都会画一条线,
文本下方出现一行。那么BufferType.normal
和BufferType.Spannable
的作用是什么?
解决方法
TextView.BufferType:
- 正常:正常;
- 可编辑:可以附加字符;
- Spannable:在给定的字符区域使用样式;
文本缓冲区的类型,用于定义文本的特性,例如静态、样式化或可编辑。它可用于在运行时更改 TextView。
TextView.BufferType.Editable
:插入
TextView tv2 = FindViewById<TextView>(Resource.Id.textView2);
tv2.SetText("Hello",TextView.BufferType.Editable);
var s = tv2.EditableText;
s.Insert(1," Hello");
输出:
TextView.BufferType.Spannable
:在单个 Textview 中设置不同的颜色
TextView tv3 = FindViewById<TextView>(Resource.Id.textView3);
tv3.Text = "Hello World";
SpannableString wordtoSpan3 = new SpannableString(tv3.Text);
wordtoSpan3.SetSpan(new ForegroundColorSpan(Color.Red),5,0); // "Hello" is red
wordtoSpan3.SetSpan(new ForegroundColorSpan(Color.Blue),7,11,0); // "orld" is blue
tv3.SetText(wordtoSpan3,TextView.BufferType.Spannable);
输出:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。