- android
- android.accessibilityservice
- android.accounts
- android.content
- android.database.sqlite
- android.graphics
- android.location
- android.media
- android.net
- android.os
- android.text
- android.view
- android.view.inputmethod
- android.widget
- AbsListView
- AbsoluteLayout
- AbsSeekBar
- AbsSpinner
- AdapterView
- AnalogClock
- BaseAdapter
- BaseExpandableListAdapter
- Button
- CheckBox
- CheckedTextView
- Checkable
- Chronometer
- CompoundButton
- CursorAdapter
- CursorTreeAdapter
- DatePicker
- DialerFilter
- DigitalClock
- EditText
- Filter
- Filter.FilterListener
- Filter.FilterResults
- ExpandableListAdapter
- Filterable
- Gallery
- Gallery.LayoutParams
- GridView
- GridLayout
- RadioGroup
- ImageView
- HorizontalScrollView
- ImageButton
- ImageSwitcher
- FilterQueryProvider
- ListAdapter
- ListView
- MediaController
- QuickContactBadge
- RadioButton
- RatingBar
- RelativeLayout
- RemoteViews
- ResourceCursorAdapter
- ResourceCursorTreeAdapter
- Scroller
- ScrollView
- SearchView
- SeekBar
- SeekBar.OnSeekBarChangeListener
- SimpleAdapter
- SimpleCursorAdapter
- SimpleCursorTreeAdapter
- SimpleExpandableListAdapter
- SlidingDrawer
- Spinner
- SpinnerAdapter
- WrapperListAdapter
- TabHost
- TabHost.TabSpec
- TextView
- TimePicker
- Toast
- TableLayout
- TableRow
- TableRow.LayoutParams
- TabWidget
- TextSwitcher
- ToggleButton
- TwoLineListItem
- VideoView
- ViewAnimator
- ViewFlipper
- ViewSwitcher
- ZoomButtonsController
- ZoomButton
- ZoomControls
- dalvik.system
Html
Html
版本:Android 3.2
结构
继承关系
public class Html extends Object
java.lang.Object
android.text.Html
类概述
该类主要用来格式化 html 格式的文本,像浏览器一样对 html 标签进行解析,渲染输出,但并不是所有的标签都被支持!(译者注:当然你自定义的标签默认肯定不被支持,但可以通过实现 Html.TagHandler 这个接口来自我解析。下面会讲到。)
内部类
interface Html.ImageGetter
用来检索 HTML 中的<img>标签。(译者注:如果实现了这个接口,当解析的时候遇到<img> 标签时会回调 ImageGetter 的 getDrawable ( String source) 方法,并返回一个 Drawable 对象,该方法参数为<img>标签的 src 属性的值)
interface Html.TagHandler
用来通知当解析器遇到无法识别的标签时该作出何种处理
公共方法
public static Spanned fromHtml (String source)
返回通过 TagSoup ( TagSoup 是一个 Java 开发符合 SAX 的 HTML 解析器 授权协议)解析器解析之后的可直接显示的文本,任何<img>则由默认的一般图片所替代,当然也可以通过实现 Html.ImageGetter 接口来显示真正的图片。
参数
source 待处理的 html 文本
public static Spanned fromHtml (String source, Html.ImageGetter imageGetter, Html.TagHandler tagHandler)
同上,不同的是当遇到 img 标签,或解析器无法识别的标签时分别触发注册的两个对象来进行处理。
参数
source 为待处理的 html 文本
imageGetter Html.ImageGetter 对象
tagHandler Html.TagHandler 的
public static String toHtml (Spanned text)
该方法完全可以理解为 fromHtml()的可逆函数,将 Spanned 类型的文本还原为 HTML 文本。
补充
文章精选
android 开发:TextView 中显示 HTML 和图片
示例代码
public class Main extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout. main ); TextView tv = (TextView) findViewById(R.id. demo ); // 貌似都不支持 HTML 标签的属性,及 CSS 样式,下面使用到的字体颜色都不被支持 //String html = "<h2>html测</h2><pstyle='color:red;'>这是测试内容</p><p><img src='http://www.baidu.com/img/baidu_sylogo1.gif'></p>"; String html = "<h2>html 测试</h2><p font='red'>这是测试内容</p><p><img src='http://www.baidu.com/img/baidu_sylogo1.gif'></p>"; tv.setText(Html. fromHtml (html, new Html.ImageGetter(){ @Override public Drawable getDrawable(String source) { Drawable myDrawable = null ; try { myDrawable = Drawable. createFromStream ( new URL(source).openStream(), "baidu_sylogo1.gif"); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } myDrawable.setBounds(0, 0, myDrawable.getIntrinsicWidth(), myDrawable.getIntrinsicHeight()); return myDrawable; }}, null )); } } |
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论