android textview 使用html样式


在textview中使用html样式显示,有些注意点,style没有作用,比如<h1 style="color:red;text-align:right">设置颜色和对齐方式</h1>在html这种样式是可以的,但在textview的时候显示不可以的。 在string里面的 ”这个符号一般要用  转义字符\” 这样用。


Html.fromHtml(String) 这个方法返回的是 Spanned 要用html样式的时候 千万别把这个spanned转成string,还要注意的一点是 ,
string这个要是一个整个的html样式。 使用方法就是text.setText(Html.fromHtml("");
 

  一下是示例:


  1.         TextView tv=(TextView)findViewById(R.id.textView1);  
  2.         String html="<html><head><title>TextView使用HTML</title></head><body><p><strong>强调</strong></p><p><em>斜体</em></p>"  
  3.                 +"<p><a href=\"http://www.dreamdu.com/xhtml/\">超链接HTML入门</a>学习HTML!</p><p><font color=\"#aabb00\">颜色1"  
  4.                 +"</p><p><font color=\"#00bbaa\">颜色2</p><h1>标题1</h1><h3>标题2</h3><h6>标题3</h6><p>大于>小于<</p><p>" +  
  5.                 "下面是网络图片</p><img src=\"http://avatar.csdn.net/0/3/8/2_zhang957411207.jpg\"/></body></html>";  
  6.           
  7.         tv.setMovementMethod(ScrollingMovementMethod.getInstance());//滚动  
  8.         tv.setText(Html.fromHtml(html));      

  1.         TextView tv=(TextView)findViewById(R.id.textView1);  
  2.         String html="<html><head><title>TextView使用HTML</title></head><body><p><strong>强调</strong></p><p><em>斜体</em></p>"  
  3.                 +"<p><a href=\"http://www.dreamdu.com/xhtml/\">超链接HTML入门</a>学习HTML!</p><p><font color=\"#aabb00\">颜色1"  
  4.                 +"</p><p><font color=\"#00bbaa\">颜色2</p><h1>标题1</h1><h3>标题2</h3><h6>标题3</h6><p>大于>小于<</p><p>" +  
  5.                 "下面是网络图片</p><img src=\"http://avatar.csdn.net/0/3/8/2_zhang957411207.jpg\"/></body></html>";  
  6.           
  7.         tv.setMovementMethod(ScrollingMovementMethod.getInstance());//滚动  
  8.         tv.setText(Html.fromHtml(html));      
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 安卓的TextView组件提供了展示HTML格式代码的功能,使用Html.fromHtml方法可以将HTML格式的字符串转换为Spanned对象,并且可以显示字体样式、颜色、链接等元素。 首先,需要在布局文件中创建一个TextView组件: ``` <TextView android:id="@+id/htmlTextView" android:layout_width="match_parent" android:layout_height="wrap_content" /> ``` 然后,在代码中获取TextView组件的实例,并将HTML代码设置给它: ``` TextView htmlTextView = findViewById(R.id.htmlTextView); String htmlCode = "<b>加粗文本</b>,<font color='#FF0000'>红色文本</font>,<a href='http://www.example.com'>链接文本</a>"; htmlTextView.setText(Html.fromHtml(htmlCode)); ``` 上述代码中,HTML代码包含了加粗文本、红色文本和链接文本。Html.fromHtml方法可以解析这些HTML标签,并将其转换为Spanned对象,随后可以将其设置为TextView的文本内容。 需要注意的是,为了支持链接文本,还需要设置TextView的点击事件,使得用户可以点击链接进行跳转: ``` htmlTextView.setMovementMethod(LinkMovementMethod.getInstance()); ``` 这样,就可以通过TextView完美展示HTML格式的代码了。 ### 回答2: 在安卓中,我们可以使用TextView来展示HTML格式的代码。为了实现完美展示,我们可以采取以下步骤: 1. 在XML布局文件中,将TextViewandroid:autoLink属性设置为none,这样可以避免链接被自动点击。 2. 在java代码中,使用Html.fromHtml()方法将HTML格式的代码转换为Spanned对象。 例如,假设我们有一个包含HTML格式代码的字符串myHtmlCode,我们可以使用以下代码将其展示在TextView中: ```java String myHtmlCode = "<b>加粗文字</b> <i>斜体文字</i>"; TextView textView = findViewById(R.id.textView); textView.setText(Html.fromHtml(myHtmlCode)); ``` 3. 如果我们想要自定义HTML样式,可以创建一个Html.TagHandler对象并将其传递给Html.fromHtml()方法的第二个参数。 TagHandler可以用于处理HTML标签,并在需要的地方应用自定义样式。例如,我们可以创建一个自定义的TagHandler来处理特定标记,并为其添加特定的样式。 ```java String myHtmlCode = "这是一个<customtag>自定义标签</customtag>"; TextView textView = findViewById(R.id.textView); textView.setText(Html.fromHtml(myHtmlCode, null, new CustomTagHandler())); ``` 这样,TextView就能够完美展示HTML格式的代码了。请注意,为了正常显示HTML代码,我们还需要确保TextView的宽度和高度足够大,以便完整展示所有内容。 ### 回答3: 要想在安卓TextView中完美展示HTML格式的代码,可以借助Html类和fromHtml()方法来实现。 首先,在代码中找到对应的TextView控件,并设置其文本: TextView textView = findViewById(R.id.textView); textView.setText(Html.fromHtml(htmlString)); 其中,htmlString是HTML格式的字符串,可以包含标签、属性和样式等。接下来,需要对TextView进行一些配置,以确保HTML格式的代码能够正确地展示出来。 1. 支持链接点击: textView.setMovementMethod(LinkMovementMethod.getInstance()); 这样,在TextView中的超链接就可以点击了。 2. 支持自定义字体样式: 可以通过使用SpannableStringBuilder类来实现自定义字体样式,例如设置字体颜色、大小等。 3. 支持图片显示: 如果HTML代码中包含图片,可以使用Html.ImageGetter接口和Spanned类的setSpan()方法来显示图片。 总的来说,通过Html类和TextView的fromHtml()方法,可以将HTML格式的代码转换为可显示的文本,并根据需要对TextView进行进一步的配置,以完美展示HTML格式的代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值