我正在准备包含自定义样式的复选框的应用程序,如粗体,斜体,下划线,color.etc ..我有点困惑哪种方法对性能有好处.我尝试过类型面,但是当用户选择两个复选框时,它只显示最后一个值.它不能正常工作.
Man*_*ani 21
字体是Paint对象用于绘制文本的图形元素.它指定的字体(例如Monospace
,Sans Serif
,Serif
等)和字体的样式(例如Bold
,Italic
等),并在内部被两个用于Spannable和的Html.
所以性能比较应该在Spannable
和之间进行Html
.
Html.fromHtml是一个更昂贵的操作,因为它涉及解析Html.我在Traceview中使用了以下代码,并在Html
和之间进行了比较Spannable
.它基本上将文本设置为粗体并设置超链接.
Debug.startMethodTracing("htmlspan");
Spanned s1 = Html.fromHtml("<b>text1: Constructed from HTML programmatically.</b> Click <a href=\"http://www.google.com\">Link</a> ");
tv1.setText(s1);
Debug.stopMethodTracing();
tv1.setMovementMethod(LinkMovementMethod.getInstance());
Debug.startMethodTracing("normalspan");
SpannableString s2 = new SpannableString("text2: Constructed from JAVA programmatically. Click here.");
s2.setSpan(new StyleSpan(Typeface.BOLD), 0, 45, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
s2.setSpan(new URLSpan("http://www.google.com"),53,53+4, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
tv2.setText(s2);
Debug.stopMethodTracing();
tv2.setMovementMethod(LinkMovementMethod.getInstance());
Run Code Online (Sandbox Code Playgroud)
TraceView for Html API:
TraceView for Spannable API:
总结:直接使用性能观点Spannable
比较快Html
.
归档时间: |
|
查看次数: |
1521 次 |
最近记录: |