基于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所触发的事件。