Android TextView 支持的HTML标签
2011-04-20 18:24
483 查看
Textview并不支持所有的html标签。如果更复杂的,可以直接使用webview组件。
Android TextView 支持的HTML标签
There is a lovely method on theandroid.text.Html
class,
fromHtml()
,
that converts HTML into a
Spannable
for use
with a
TextView
.However, the documentation does not
stipulate what HTML tags are supported, which makes this method a
bit hit-or-miss. More importantly, it means that you cannot rely on
what it will support from release to release.
I have
filed an issue
requesting
that Google formally document what it intends to support. In the
interim, from a quick look at the source code, here’s what seems to
be supported as of Android 2.1:
<a href="..."> 定义链接内容
<b>
定义粗体文字b
是blod的缩写
<big>
定义大字体的文字
<blockquote>
引用块标签属性:Common
--
一般属性cite
--
被引用内容的URI
<br>
定义换行
<cite>
表示引用的URI
<dfn>
定义标签
dfn
是defining
instance的缩写
<div align="...">
<em>
强调标签
em
是emphasis的缩写
<font size="..." color="..." face="...">
<h1>
<h2>
<h3>
<h4>
<h5>
<h6>
<i>
定义斜体文字
<img src="...">
<p>
段落标签,里面可以加入文字,列表,表格等
<small>
定义小字体的文字
<strike>
定义删除线样式的文字不符合标准网页设计的理念,不赞成使用.strike是strikethrough的缩写
<strong>
重点强调标签
<sub>
下标标签sub
是subscript的缩写
<sup>
上标标签sup
是superscript的缩写
<tt>
定义monospaced字体的文字
不赞成使用.
此标签对中文没意义
tt是teletype
or monospaced text style的意思
<u>
定义带有下划线的文字
u是underlined
text style的意思一、在xml文件中使用android:textStyle=”bold”二、但是不能将中文设置成粗体,将中文设置成粗体的方法是:
TextView tv = ( TextView) findViewById( R. id . TextView01) ; TextPaint tp = tv. getPaint ( ) ; tp. setFakeBoldText( true) ; |
of text in a TextView object. There are two ways to do
this:If you use a string resource, you can add some simple styling, such
as bold or italic using HTML notation. The currently supported tags
are: B (bold), I (italic), U (underline), TT (monospace), BIG,
SMALL, SUP (superscript), SUB (subscript), and STRIKE
(strikethrough). So, for example, in res/values/strings.xml you
could declare this:<resource><string>id="@+id/styled_welcome_message">We
are
<b><i>so</i></b>
glad to see you.</string></resources>To style text on the fly, or to add highlighting or more complex
styling, you must use the Spannable object as described
next.To style text on the fly, you must make sure the TextView is using
Spannable storage for the text (this will always be true if the
TextView is an EditText), retrieve its text with getText(), and
call setSpan(Object, int, int, int), passing in a new style class
from the android.text.style package and the selection
range.The following code snippet demonstrates creating a string with a
highlighted section, italic section, and bold section, and adding
it to an EditText object.// Get our EditText object.EditText vw = (EditText)findViewById(R.id.text);// Set the EditText's text.vw.setText("Italic, highlighted, bold.");// If this were just a TextView, we could do:// vw.setText("Italic, highlighted, bold.",
TextView.BufferType.SPANNABLE);// to force it to use Spannable storage so styles can be
attached.// Or we could specify that in the XML.// Get the EditText's internal text storageSpannable str = vw.getText();// Create our span sections, and assign a format to each.str.setSpan(new StyleSpan(android.graphics.Typeface.ITALIC), 0, 7,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);str.setSpan(new BackgroundColorSpan(0xFFFFFF00), 8, 19,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);str.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 21,
str.length() - 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);I sometimes have the case to arrange the image next to the
characters.We can do it by putting TextView and ImageView into
Layout.But today I introduce the other way using only TextView.The following sample code is how to show the image next to
text.(show four image(left, top, right, bottom of text))final TextView textView =
(TextView)findViewById(R.id.diet_log_label);final Drawable iconDrawable =
getResources().getDrawable(R.drawable.icon);textView.setCompoundDrawablesWithIntrinsicBounds(iconDrawable,
iconDrawable, iconDrawable, iconDrawable);// ortextView.setCompoundDrawablesWithIntrinsicBounds(R.drawable.icon,
R.drawable.icon, R.drawable.icon, R.drawable.icon);To show only left image, write
"setCompoundDrawablesWithIntrinsicBounds(iconDrawable, null, null,
null)"
相关文章推荐
- Android TextView 支持的HTML标签
- Android TextView 支持的HTML标签
- Android TextView支持的HTML标签
- Android中在TextView里面替换掉带html标签和不带标签的url,并支持点击
- android 让TextView支持的Html标签实现自定义时钟显示组件DigitalClock
- Android TextView 支持的HTML标签
- 解析在Android中为TextView增加自定义HTML标签的实现方法
- Android中Textview显示带html文本一-------【HTML标签】
- Android中为TextView增加自定义的HTML标签
- Android中Textview显示带html文本一-------【HTML标签】
- Android TextView加载带有src标签的html字符串
- android 使用html标签在textview中显示图片
- android textview html font标签不好用
- Android控件之TextView支持html
- Android UI设计系列之HTML标签实现TextView设置中文字体加粗效果(6)
- Android中Textview显示带html文本一-------【HTML标签】
- Android中为TextView增加自定义的HTML标签
- Android中用TextVIew显示Html标签文本
- Android中Textview显示带html文本一-------【HTML标签】
- Android TextView 显示HTML代码以及代码中的图片标签