![canvas画布里面的text可以加上超链接吗?怎么加?就是要让字上有链接。,第1张 canvas画布里面的text可以加上超链接吗?怎么加?就是要让字上有链接。,第1张](/aiimages/canvas%E7%94%BB%E5%B8%83%E9%87%8C%E9%9D%A2%E7%9A%84text%E5%8F%AF%E4%BB%A5%E5%8A%A0%E4%B8%8A%E8%B6%85%E9%93%BE%E6%8E%A5%E5%90%97%3F%E6%80%8E%E4%B9%88%E5%8A%A0%3F%E5%B0%B1%E6%98%AF%E8%A6%81%E8%AE%A9%E5%AD%97%E4%B8%8A%E6%9C%89%E9%93%BE%E6%8E%A5%E3%80%82.png)
可以使用HTML标签的方式来实现,Android中的TextView,本身就支持部分的Html格式标签。这其中包括常用的字体大小颜色设置,文本链接等。使用起来也比较方便,只需要使用Html类转换一下即可。比如:textView.setText(Html.fromHtml(str))一、实现TextView里的文字有不同颜色importandroid.text.HtmlTextViewt3=(TextView)findViewById(R.id.text3)t3.setText(Html.fromHtml("text3:Textwitha"+"link"+"createdintheJavasourcecodeusingHTML."))二、TextView
显示html文件中的
图片我们知道要让TextView解析和显示Html代码。可以使用Spannedtext=Html.fromHtml(source)tv.setText(text)来实现,这个用起来简单方便。 但是,怎样让TextView也显示Html中节点的图像呢? 我们可以看到fromHtml还有另一个重构: fromHtml(Stringsource,Html.ImageGetterimageGetter,Html.TagHandlertagHandler) 实现一下ImageGetter就可以让图片显示了:ImageGetterimgGetter=newHtml.ImageGetter(){ @Override publicDrawablegetDrawable(Stringsource){ Drawabledrawable=nulldrawable=Drawable.createFromPath(source)//OrfetchitfromtheURL //Important drawable.setBounds(0,0,drawable.getIntrinsicWidth(),drawable .getIntrinsicHeight())returndrawable} }三TextView+HTML的应用代码我们平常使用TextView的setText()
方法传递String参数的时候,其实是调用的publicfinalvoidsetText(CharSequencetext)方法而String类是CharSequence的子类,在CharSequence子类中有一个接口Spanned,即类似html的带标记的文本,我们可以用它来在TextView中显示html。但在源代码上面Android源码注释中有提及TextViewdoesnotacceptHTML-likeformatting。android.text.Html类共提供了三个方法,可以到Android帮助文档查看。publicstaticSpannedfromHtml(Stringsource)publicstaticSpannedfromHtml(Stringsource,Html.ImageGetterimageGetter,Html.TagHandlertagHandler)publicstaticStringtoHtml(Spannedtext)通过使用第一个方法,可以将Html显示在TextView中:public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState) setContentView(R.layout.main) TextView tv=(TextView)findViewById(R.id.textView1) String html="TextView使用HTML强调斜体" +"超链接HTML入门学习HTML!颜色1" +"颜色2标题1标题2标题3大于>小于" tv.setMovementMethod(ScrollingMovementMethod.getInstance())//滚动 tv.setText(Html.fromHtml(html)) } 效果: 可以看出,字体效果是显示出来了,但是图片却没有显示。要实现图片的显示需要使用Html.fromHtml的另外一个重构方法:publicstaticSpannedfromHtml(Stringsource,Html.ImageGetterimageGetter,Html.TagHandlertagHandler)其中Html.ImageGetter是一个接口,我们要实现此接口,在它的getDrawable(Stringsource)方法中返回图片的Drawable对象才可以。你说的添加文字是鼠标悬停在图片上显示的文字吗?
如果是的话添加 title 属性
<img src="图片地址" width="170" height="89" alt="" title=“这里写上要显示的字”>
图片添加连接我的方法是在<img>标签两边添加<a>标签
如:
<a href="要连接的地址" title="这里也可以使用title属性,也是悬停会会显示文字">
<img src="图片地址" width="170" height="89" alt="" title=“这里写上要显示的字”>
</a>
希望可以帮到你。
不明白可以追问我哦。
评论列表(0条)