首先先看一下Android提供的TextView的属性,感谢那些为我们翻译api的战友们!

java.lang.Object
↳ android.view.View
↳ android.widget.TextView

已知直接子类:
Button, CheckedTextView, Chronometer, DigitalClock, EditText

已知间接子类:
AutoCompleteTextView, CheckBox, CompoundButton, ExtractEditText,
MultiAutoCompleteTextView, RadioButton, ToggleButton

XML属性
属性名称 描述
android:autoLink 设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all)
android:autoText 如果设置,将自动执行输入值的拼写纠正。此处无效果,在显示输入法并输入的时候起作用。
android:bufferType 指定getText()方式取得的文本类别。选项editable 类似于StringBuilder可追加字符,
也就是说getText后可调用append方法设置文本内容。spannable 则可在给定的字符区域使用样式,参见这里1、这里2。
android:capitalize 设置英文字母大写类型。此处无效果,需要弹出输入法才能看得到,参见EditView此属性说明。
android:cursorVisible 设定光标为显示/隐藏,默认显示。
android:digits 设置允许输入哪些字符。如"1234567890.+-*/%/n()"
android:drawableBottom 在text的下方输出一个drawable,如图片。如果指定一个颜色的话会把text的背景设为该颜色,并且同时和background使用时覆盖后者。
android:drawableLeft 在text的左边输出一个drawable,如图片。
android:drawablePadding 设置text与drawable(图片)的间隔,与drawableLeft、drawableRight、drawableTop、drawableBottom一起使用,可设置为负数,单独使用没有效果。
android:drawableRight 在text的右边输出一个drawable,如图片。
android:drawableTop 在text的正上方输出一个drawable,如图片。
android:editable 设置是否可编辑。这里无效果,参见EditView。
android:editorExtras 设置文本的额外的输入数据。在EditView再讨论。
android:ellipsize 设置当文字过长时,该控件该如何显示。有如下值设置:"start"--省略号显示在开头;"end"--省略号显示在结尾;"middle"--省略号显示在中间;"marquee" --以跑马灯的方式显示(动画横向移动)
android:freezesText 设置保存文本的内容以及光标的位置。参见:这里。
android:gravity 设置文本位置,如设置成"center",文本将居中显示。
android:hint Text为空时显示的文字提示信息,可通过textColorHint设置提示信息的颜色。比较奇怪的是TextView本来就相当于Label,怎么会不设置Text?!
android:imeOptions 附加功能,设置右下角IME动作与编辑框相关的动作,如actionDone右下角将显示一个"完成",而不设置默认是一个回车符号。这个在EditView中再详细说明,此处无用。
android:imeActionId 设置IME动作ID。在EditView再做说明,可以先看这篇帖子:这里。
android:imeActionLabel 设置IME动作标签。在EditView再做说明。
android:includeFontPadding 设置文本是否包含顶部和底部额外空白,默认为true。
android:inputMethod 为文本指定输入法,需要完全限定名(完整的包名)。例如:com.google.android.inputmethod.pinyin,但是这里报错找不到。
android:inputType 设置文本的类型,用于帮助输入法显示合适的键盘类型。在EditView中再详细说明,这里无效果。
android:linksClickable 设置链接是否点击连接,即使设置了autoLink。
android:marqueeRepeatLimit 在ellipsize指定marquee的情况下,设置重复滚动的次数,当设置为marquee_forever时表示无限次。
android:ems 设置TextView的宽度为N个字符的宽度。这里测试为一个汉字字符宽度,如图:
android:maxEms 设置TextView的宽度为最长为N个字符的宽度。与ems同时使用时覆盖ems选项。
android:minEms 设置TextView的宽度为最短为N个字符的宽度。与ems同时使用时覆盖ems选项。
android:maxLength 限制显示的文本长度,超出部分不显示。
android:lines 设置文本的行数,设置两行就显示两行,即使第二行没有数据。
android:maxLines 设置文本的最大显示行数,与width或者layout_width结合使用,超出部分自动换行,超出行数将不显示。
android:minLines 设置文本的最小行数,与lines类似。
android:lineSpacingExtra 设置行间距。
android:lineSpacingMultiplier 设置行间距的倍数。如"1.2"
android:numeric 如果被设置,该TextView有一个数字输入法。此处无用,设置后唯一效果是TextView有点击效果,此属性在EdtiView将详细说明。
android:password 以小点"."显示文本
android:phoneNumber 设置为电话号码的输入方式。
android:privateImeOptions 设置输入法选项,此处无用,在EditText将进一步讨论。
android:scrollHorizontally 设置文本超出TextView的宽度的情况下,是否出现横拉条。
android:selectAllOnFocus 如果文本是可选择的,让他获取焦点而不是将光标移动为文本的开始位置或者末尾位置。TextView中设置后无效果。
android:shadowColor 指定文本阴影的颜色,需要与shadowRadius一起使用。效果:
android:shadowDx 设置阴影横向坐标开始位置。
android:shadowDy 设置阴影纵向坐标开始位置。
android:shadowRadius 设置阴影的半径。设置为0.1就变成字体的颜色了,一般设置为3.0的效果比较好。
android:singleLine 设置单行显示。如果和layout_width一起使用,当文本不能全部显示时,后面用"..."来表示。如android:text="test_ singleLine " android:singleLine="true" android:layout_width="20dp"将只显示"t..."。如果不设置singleLine或者设置为false,文本将自动换行
android:text 设置显示文本.
android:textAppearance 设置文字外观。如"?android:attr/textAppearanceLargeInverse
"这里引用的是系统自带的一个外观,?表示系统是否有这种外观,否则使用默认的外观。可设置的值如下:textAppearanceButton/textAppearanceInverse/textAppearanceLarge/textAppearanceLargeInverse/textAppearanceMedium/textAppearanceMediumInverse/textAppearanceSmall/textAppearanceSmallInverse
android:textColor 设置文本颜色
android:textColorHighlight 被选中文字的底色,默认为蓝色
android:textColorHint 设置提示信息文字的颜色,默认为灰色。与hint一起使用。
android:textColorLink 文字链接的颜色.
android:textScaleX 设置文字之间间隔,默认为1.0f。分别设置0.5f/1.0f/1.5f/2.0f效果如下:

android:textSize 设置文字大小,推荐度量单位"sp",如"15sp"
android:textStyle 设置字形[bold(粗体) 0, italic(斜体) 1, bolditalic(又粗又斜) 2] 可以设置一个或多个,用"|"隔开
android:typeface 设置文本字体,必须是以下常量值之一:normal 0, sans 1, serif 2, monospace(等宽字体) 3]
android:height 设置文本区域的高度,支持度量单位:px(像素)/dp/sp/in/mm(毫米)
android:maxHeight 设置文本区域的最大高度
android:minHeight 设置文本区域的最小高度
android:width 设置文本区域的宽度,支持度量单位:px(像素)/dp/sp/in/mm(毫米),与layout_width的区

android:maxWidth 设置文本区域的最大宽度
android:minWidth 设置文本区域的最小宽度

 

 

 

   可以看到TextView的属性是相当的多,不同的搭配就可以实现不同的效果。下面上几个例子:

 

<?xml version="1.0" encoding="utf-8"?>  

效果图:

 

 

 

当然这只是个别属性的展示,不同属性的结合则会创造出更漂亮更个性的textview,这个需要读者自己去揣摩了

 

下面给出一个带边框的TextView的实现。

android自带的textView是没有边框的,大部分时间我们也不会用到带边框的textView,但是有时候为了美观,给textView带一个边框也是一件不错的事:

package irdc.ex07_07; import android.content.Context; import android.graphics.Canvas; import android.graphics.Paint; import android.util.AttributeSet; import android.widget.TextView; //为Textview画一个边框 public class BorderTextView extends TextView { @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); Paint paint = new Paint(); // 将边框设为黑色 paint.setColor(android.graphics.Color.BLACK); // paint.setAntiAlias(true); // 画TextView的4个边 canvas.drawLine(0, 0, this.getWidth() - 1, 0, paint); canvas.drawLine(0, 0, 0, this.getHeight() - 1, paint); canvas.drawLine(this.getWidth() - 1, 0, this.getWidth() - 1, this.getHeight() - 1, paint); canvas.drawLine(0, this.getHeight() - 1, this.getWidth() - 1, this.getHeight() - 1, paint); } public BorderTextView(Context context, AttributeSet attrs) { super(context, attrs); } } 

使用的方法如下(在布局文件中):

 

<?xml version="1.0" encoding="utf-8"?>

注:xom.jiexun.MyTextView是包名

效果图如下:

 

 

今天先写这么多把,等以后知道的更多了再补充。

 

更多相关文章

  1. Android 5.0 android:elevation 如果给button设置效果
  2. android简单实现轮播图效果
  3. Android使用ViewPager实现左右滑动效果
  4. Android 开发笔记 动画效果 --Animation
  5. Android——SpannableString实现带圆角标签效果
  6. Android 倒车影像车道线,3D效果

随机推荐

  1. A first hand look at building an Andro
  2. Android调用第三方程序
  3. singleLine 过时
  4. 【Android】使用代码动态创建布局
  5. android 登陆右上角 的关闭按钮的使用方
  6. Android(安卓)widget—Gallery学习笔记
  7. Android(安卓)Random随机数
  8. 78 Android(安卓)BroadcastReceiver 有序
  9. Android(安卓)Stream to String
  10. 【Android】Menu不同菜单的使用介绍