Android文本样式——下

原创 2012年10月25日 16:37:34

继续就android的文本样式进行分析:

10.MaskFilterSpan

MaskFilterSpan,滤镜样式,只有一个构造函数:
MaskFilterSpan(MaskFilter filter):参数filter,滤镜样式。
说明:
在android系统里,MaskFilter提供了两个子类,BlurMaskFilter和EmbossMaskFilter,分别用来制作模糊效果和浮雕效果。
效果:

11.QuoteSpan

QuoteSpan,引用样式,在文本左侧添加一条表示引用的竖线,该类有3个构造函数:
QuoteSpan():无参构造,默认颜色为蓝色。
QuoteSpan(int color):参数color,颜色值。
QuoteSpan(Parcel src):包含颜色值信息的包装类。使用:
Parcel p = Parcel.obtain();
p.writeInt(Color.BLACK);
p.setDataPosition(0);
QuoteSpan qs = new QuoteSpan(p);
效果:

12.RasterizerSpan

RasterizerSpan,字面义为光栅化,实际效果不明显,待完善。一个构造函数:
RasterizerSpan(Rasterizer r):Rasterizer只有一个系统定义了的子类LayerRasterizer

13.RelativeSizeSpan

RelativeSizeSpan,相对大小,指相对于文本设定的大小的相对比例,如果没有设定则采用系统默认值。该类有两个构造函数:
RelativeSizeSpan(float proportion):参数proportion,比例值。如果文字设定大小为A,则显示出来的大小为A×proportion。
RelativeSizeSpan(Parcel src):参数src,包含了比例值信息的包装类。使用:
Parcel p = Parcel.obtain();
p.writeFloat(2.5f);
p.setDataPosition(0);
RelativeSizeSpan rss = new RelativeSizeSpan(p);
效果:

14.ScaleXSpan

ScaleXSpan,横向缩放样式,将字体按比例进行横向缩放。构造函数:
ScaleXSpan(float proportion):参数proportion,缩放比例。如果字体设置的大小为A,则实际显示为A×proportion。
ScaleXSpan(Parcel src):参数src,包含了缩放比例信息的包装类。使用:
Parcel p = Parcel.obtain();
p.writeFloat(2.5f);
p.setDataPosition(0);
ScaleXSpan rss = new ScaleXSpan(p);
效果:

15.StrikethroughSpan

StrikethroughSpan,删除线样式。该类有两个构造函数:
StrikethroughSpan()和SrickkethroughSapn(Parcel src)。但有参数的构造函数并未对src参数做处理,
public StrikethroughSpan(Parcel src) {
}
因此这两个构造函数完全是同样的效果。

16.StyleSpan

StyleSpan,主要由正常、粗体、斜体和同时加粗倾斜四种样式,常量值定义在Typeface类中。构造函数:
StyleSpan(int style):参数style,定义在Typeface中的常量。
StyleSpan(Parcel src):参数src,包含字体信息的包装类,用法:
Parcel p = Parcel.obtain();
p.writeInt(Typeface.BOLD_ITALIC);
p.setDataPosition(0);
StyleSpan ss = new StyleSpan(p);
效果:

17.SubscriptSpan

SubscriptSpan,脚注样式,比如化学式的常见写法,当然,还可以对脚注的文字做一定的缩放。构造函数:
SubscriptSpan():无参构造。
SubscriptSpan(Parcel src):一参构造,参数src并未起任何作用,源码中为:
public SuperscriptSpan(Parcel src) {
}
效果:

18.SuperscriptSpan

SuperscriptSpan,上标样式,比如数学上的次方运算,当然,还可以对上标文字进行缩放。构造函数:
SuperscriptSpan():无参构造。
SuperscriptSpan(Parcel src):一参构造,参数src并未起任何作用,源码中为:
public SuperscriptSpan(Parcel src) {
}
效果:

19.TabStopSpan

TabStopSpan.Standard,制表位偏移样式,距离每行的leading margin的偏移量,据测试在首行加入制表符时才产生效果。构造函数:
TabStopSpan.Standard(int where):参数where,偏移量。
效果:

20.TextAppearanceSpan

TextAppearanceSpan,使用style文件来定义文本样式,该类有4个构造函数:
TextAppearanceSpan(Context context, int appearance):参数context,传入的上下文,参数appearance,引用的样式表,如R.style.my_style。
TextAppearanceSpan(Context context, int appearance, int colorList):参数context,使用的上下文,参数appearance,引用的样式表,如R.style.my_style,参数colorList,使用方式未知,如果设置为小于0,则参数将不产生效果。
TextAppearanceSpan(String family, int style, int size,ColorStateList color, ColorStateList linkColor):参数family,字体,仅支持系统自带的三种字体,MONOSPACE、SERIF和SANS,参数style,TypeFace中定义的字体样式,BOLD、ITALIC等,参数size,字体大小,参数color,字体颜色,参数linkColor,使用方式未知。TextAppearanceSpan(Parcel src):参数src,含有样式信息的包装类,样式信息参照5参构造。使用:
Parcel p = Parcel.obtain();
p.writeString(\"SERIF\");
p.writeInt(Typeface.BOLD_ITALIC);
p.writeInt(10);
try {
    ColorStateList colorlist = ColorStateList.createFromXml(ctx.getResources(),ctx.getResources().getXml(R.drawable.parcelcolorlist));
    p.writeInt(1);
    colorlist.writeToParcel(p, Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
    p.writeInt(1);
    colorlist.writeToParcel(p, Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
} catch (Exception e) {
    e.printStackTrace();
}
p.setDataPosition(0);
TextAppearanceSpan tas = new TextAppearanceSpan(p);
注:在这个设置中style似乎并未起到作用,另外关于这个类的colorList和linkColor参数的使用尚不明了,有待解答。
效果:

21.TypefaceSpan

TypefaceSpan,字体样式,可以设置不同的字体,比如系统自带的SANS_SERIF、MONOSPACE和SERIF。构造函数:
TypefaceSpan(String family):参数family,字体的值,以字符串表示。
TypefaceSpan(Parcel src): 参数src,包含字体family信息的包装类,使用如下:
Parcel p = Parcel.obtain();
p.writeString(\"SERIF\");
p.setDataPosition(0);
TypefaceSpan ts = new TypefaceSpan(p);
 效果:

22.UnderlineSpan

UnderlineSpan,下划线样式,给一段文字加上下划线。构造函数:
UnderlineSpan(): 无参构造。
UnderlineSpan(Parcel src):一参构造, 与无参构造效果相同,构造中未对src做处理。源码:
public UnderlineSpan(Parcel src) {
}
效果:

23.URLSpan

URLSpan,可以打开一个链接。两个构造函数:
URLSpan(String url):参数url,链接地址。
URLSpan(Parcel src):参数src,包含链接地址信息的包装类,使用如下:
Parcel p = Parcel.obtain();
p.writeString("http://www.sina.com.cn");
p.setDataPosition(0);
URLSpan us = new URLSpan(p);
效果:

四、标注:

以上效果均在android2.3中测试,以后新增的几个类并未做说明,上面的类中还有几处使用的不甚明了的地方,希望能够尽快的完善。
以上所有的效果均写在了一个APK里,源码已上传至Android文本样式

Android webkit css样式定制

我们知道不同的浏览器对css有不同的解析方式,在android webkit 上面默认的定制自己样式的通道,假如我们对这个流程有一个比较清晰的了解,那么我们也可以自己去do itself。     ...
  • lihui130135
  • lihui130135
  • 2013-06-18 00:56:47
  • 5875

Android TextView使用HTML处理字体样式、显示图片等

学Android的时候突然想到一个问题:怎么用TextView控件显示带有格式的文字,可否使用Html布局?查了下Android 帮助文档,其提供了android.text.Html类和Html.Im...
  • zhang957411207
  • zhang957411207
  • 2012-07-19 18:16:54
  • 114438

微信聊天文本框的样式 for Android

先使用layer-list建立个样式,文件名为:edit_text_style_1.xml 代码如下。 ...
  • ioriliao
  • ioriliao
  • 2014-11-04 19:34:12
  • 2437

Android Textview和Edittext文本选中样式修改实战

修改Textview和Edittext文本选中样式今天接到一个任务,因为现在的上线APP的搜索框在文本被选中的时候,高亮背景色和指示器的颜色与主题颜色相同,因此导致了用户使用上的困难,并且文本功能菜单...
  • Kinsomy
  • Kinsomy
  • 2017-11-28 12:46:58
  • 185

Android Studio 初级调用本地html+css

为了以后开发用到 保存一下 (不想在网上搜大半天) 在Android Studio 中Project 下 点击main文件 new 一个Folder->Assets Folder  默认路径...
  • leng_wen_rou
  • leng_wen_rou
  • 2016-09-27 10:52:38
  • 2143

Android中WebView在加载网页的时候,怎样应用本地的CSS效果?就是说怎样把本地的CSS嵌入到HTML中

###跟加载本地html一样的。 ##自己的项目中的样子是这个 - css文件 - .videolist{background:url("../images/playvideo.png") ...
  • u012721933
  • u012721933
  • 2016-05-05 09:23:49
  • 2410

Android文本样式

  • 2012年10月25日 16:34
  • 3.52MB
  • 下载

Android在一个TextView设置不同样式的文字

在我们项目开发中,经常需要在设置一些文字变大或者颜色突出使得用户更加关注该内容,诸如: 当让有童鞋或许就弄三个TextView进行显示,当然这样也能实现,但是对于一名程序员来说,这是很low的逼格。...
  • u010899138
  • u010899138
  • 2016-11-10 16:00:35
  • 801

webview 中使用css适配简单的页面

package com.example.mycssdemo; import android.annotation.SuppressLint; import android.app.Activity;...
  • SoulOfAndroid
  • SoulOfAndroid
  • 2015-08-16 13:28:00
  • 4812

HTML中如何用CSS设置文本样式

一. 长度单位 1.相对类型 A. px (piexl) 像素,根据显示设备的分辨率的多少而代表不同的长度,因此属于相对类型。例如一张高宽为100px的图,在800×600分辨率中比在1024×...
  • wangxiaohui6687
  • wangxiaohui6687
  • 2012-11-21 17:58:26
  • 26559
收藏助手
不良信息举报
您举报文章:Android文本样式——下
举报原因:
原因补充:

(最多只允许输入30个字)