canvas画布里面的text可以加上超链接吗?怎么加?就是要让字上有链接。 5
canvas画布里面的text可以加上超链接吗?怎么加?就是要让字上有链接。我是小菜鸟,麻烦各位大神写得详细点,谢谢...
canvas画布里面的text可以加上超链接吗?怎么加?就是要让字上有链接。我是小菜鸟,麻烦各位大神写得详细点,谢谢
展开
1个回答
2017-06-28
展开全部
可以使用HTML标签的方式来实现,Android中的TextView,本身就支持部分的Html格式标签。这其中包括常用的字体大小颜色设置,文本链接等。使用起来也比较方便,只需要使用Html类转换一下即可。比如:textView.setText(Html.fromHtml(str));一、实现TextView里的文字有不同颜色importandroid.text.Html; TextViewt3=(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=null; drawable=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对象才可以。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询