基于Eclipse新建一个项目工程,都会自动创建一个Activity和一个main.xml,一运行,就会显示一句话“ Hello World,TextviewActivity!”。 在屏幕上显示这句话的控件就是TextView。在其它GUI系统中,通常都叫LABEL,这里不知GOOGLE咋想的,用了一个新名字,TextView. TextView实际上比一些其它的文本控制功能稍微强大一点,它其实可以显示一些LINK,但是需要设置autolink属性。同其它的文本显示控件一样,TextView默认是不能编辑的,如果要用编辑的请用EditText.如下是它的类图。

2.2.0常见XML属性说明

TextView除了继承了View的一些XML属性之外,还提供了以下一些属性。

autoLink 自动识别文本中的一些特定含义内容,目前支持5种,缺省不支持,同时支持请用“|”隔开
autoText 自动单词拼写检查,缺省false,editText用法
bufferType 文本控制上文字内容方式,缺省是Normal,spannable,editable
capitalize 大写的控制方式,有首字母、首单词等。
cursorvisible 光标可见,主要用于edittext
digits/numeric/password/phoneNumber/ 数字,精确数据,密码,电话号码,主要用限定输入
drawableBottom 文字底下图片
drawableLeft 文字左侧图片
drawablePadding 填充图片
drawableRight 文字右侧图片
drawableTop 文字上侧图片
editable 文本文件是否可编辑,但实际上是没有用的
ellipsize (marqueeRepeatLimit) 当文字过长时,如何显示呢,以前都是换行,android是省略号,不同的参数让省略号显示在哪
gravity 文本对齐方式
ems/maxems/minems 比较少用的,但也有地方用得多,主要用来指定宽度是否跟字体一样大小
freezesText 临时保存文本文字及光标位置
height(maxheight,maxlenght,minHeight 高度,指得是控制高度,与layout_height不一样
hint 当文字为空时,
imeactionId/imeactionLabel/imeoption/privateImeOptions editText时与IME有关的一些行为及参数,控制输入方法
includeFontPadding 设置文字上下部空间
inputMethod 指定文本输入法
inputType editText时可用,用来指定文本域输入类型
lineSpacingExtra/lineSpacingMutiplier/lines/maxlines/minlines 设置文本域上多行,行间隔、等参数
linksClickable 与autolink配合使用
width(maxwidth,minwidth, 宽度
scrollhorizontally/singleline 单行,及横条显示
selectAllOnFocus 选择文本时,文本聚集
shadowColor/shadowDx/shadowDy/shadowRadius 文本阴影的一些设置
text/textcolor/textcolorhighlight/textcolorhit/textcolorlink/textsize/textlsSelectable/textScaleX/textStyle/ 文本样式设置,可设置大小着色,拉伸比例及不同文本内容的着色
typeface 文本字体

2.2.1创建一个Textview

创建一个Textview,同其它控件一样,两种方式,一种是XML,另一种是代码。通常采用XML定义绝大部分属性,用代码控制部分属性。这样做到一动一静。

2.2.2 TextView 的常用代码方法

用XML来定义一个控件,毕竟还是有很多东西无法实现的,比喻说要注册一个listener,当然这个东东也是可以通过BINDING来实现,但是毕竟还是有一些,如构造函数等。后面还需要研究一些textwatch类。

对UI有一些常用事件的处理,其方法是非常公共的。如调用setClickListener等,但TextView及其子类EditorText的事件是TextChange,需要使用到textwatch,通过textwatch的实现来获取textchange所触发的事件。