今天学习了TextView的进行加载HTML来显示文字,图片等信息;
首先来看一个Textview的一个属性android:autoLink 这个属性来解析Textview的中的一些特殊字符例如:web,email,phone,map,..当还可以通过android:textColorLink来设定这些特殊字符的颜色;另外其他的属性可以设定字体大小,颜色等等;虽然这些都可以实现所需要的功能,不过Google还提供了一个Html类来直接加载HTML代码。一起来学习下。
(一):看下Html类的继承图:这是直接继承了Object类:
这个类可以显示Html代码转换成对应的text,但不是所有的HTML的标签都支持。
Html主要有下面的方法:
1:public static Spanned fromHtml (String source)
这个方法是返回显示的文本,但是如果遇到img标签的话,android系统会直接会用一个默认的图片放上去,等着我们自己去加载图片,完成之后,把加载成功的图片替代上去,
_TextView
.setText(Html
.fromHtml("<b>江苏</b><h1>南通</h1><font color='#00FF00'>海门</font>" +
"<img src='http://developer.android.com/assets/images/bg_logo.png'/>"));
效果截图如下:看右下角那个不能显示的图片,如何可以实现图片显示呢?那就下下面那个重载的fromHtml方法...
2:public static Spanned fromHtml (String source, Html.ImageGetter imageGetter, Html.TagHandler tagHandler)
①:这个重载方法中第二个参数是个ImageGetter接口 其中我们实现这个接口的一个public abstract Drawable getDrawable (String source)方法,这个方法来加载图片,【注意:这是一定要调用setbounds()方法来设置图片的大小】
ImageGetter _ImageGetter = new Html.ImageGetter() {
@Override
public Drawable getDrawable(String source) {
if (source != null) {
BitmapDrawable _BitmapDrawable = (BitmapDrawable) getResources()
.getDrawable(R.drawable.tu);
_BitmapDrawable.setBounds(0, 0, 100, 100);
return _BitmapDrawable;
}
return null;
}
};
这里为了简便直接返回了资源库中的图片了:
②第三个参数是个TagHandler 接口,实现这个接口中的public abstract void handleTag (boolean opening, String tag, Editable output, XMLReader xmlReader)方法来解析标签,尤其那些不是属于HTML的中标签,可以理解为自定义的。。。
TagHandler _TagHandler = new Html.TagHandler() {
@Override
public void handleTag(boolean opening, String tag, Editable output,
XMLReader xmlReader) {
Toast.makeText(TestActivity.this, tag, 2000).show();
}
};
上面就直接返回了传入的那段HTML代码中所有的节点标签
分享到:
相关推荐
Android的TextView中显示图片和图像的方法
可直接运行,方便直接添加到项目中 解决了android 加载Html页面只出现文字,图片加载不出来,直接显示小方块的问题
解决Android中原生TextView显示中英文特殊字符等末尾参差不齐问题
android下textview 显示html片段,可以显示文字和图片混排,图片可以是网络图片
android TextView android TextView
Android TextView显示html的demo ,演示如何在TextView上显示html效果,包括图片,
但是,怎样让TextView也显示Html中节点的图像呢? 我们可以看到fromHtml还有另一个重构: fromHtml(String source, Html.ImageGetter imageGetter, Html.TagHandler tagHandler) 实现一下ImageGetter就可以让图片...
android 设置textview中划线效果
如果在html中使用img标签的话就会遇到以下问题: 1、图片不能居中显示 2、图片的大小被缩小 3、图片是在ImageGetter中获取,ImageGetter不能和ImageSpan同时使用; 笔者通过参考大量资料和源码,...
android Textview 实现html 图片点击 两种方式 一种是用webview ,调用jsInterface实现 另一种是 textview 使用Html.from()方法
android中TextView控件的一些常用效果:HTML设置样式、TextView点击事件,TextView跑马灯效果,TextView显示图片效果。
android 逐行逐字显示的textview 播放通知的字幕 逐字逐行显示。可以控制显示的次数。
android TextView 支持CSS样式
Android SpannableString实现TextView不同大小文字居中显示。
视频与票的图标跟在标题后面显示,当标题过长时icon显示到省略号…后(textview省略号显示,图标自动靠后)。 二、问题解决 TextView可以通过 android:ellipsize=end android:singleLine=true实现单行省略, 但是...
有时候看到原型图上要求图片和文字对齐,但是直接使用TextView的话总是有一段空白,这里直接继承TextView重写onDraw方法去掉上下边距,但是简单粗暴,导致只能显示文字,没有TextView其他的功能了。
Android中TextView显示图片简单的Demo,利用TextView解析和显示HTML代码的功能实现。
主要介绍了Android实现在TextView文字过长时省略部分或滚动显示的方法,结合实例形式分析了Android中TextView控件文字显示及滚动效果相关操作技巧,需要的朋友可以参考下
这是参考别人的显示gif的textview而写出来的,可同时显示gif和png还有文字,类似于QQ聊天时输入动态表情, 不足的是,由于各gif的频率不一致,在输入多个不同gif时,有些gif可能看起来会慢一些 参考:...
通过textview设置状态选择