【Android】TextView详解和常用属性

一、TextView简介

Displays text to the user and optionally allows them to edit it. A TextView is a complete text editor, however the basic class is configured to not allow editing; see for a subclass that configures the text view for editing.

这是谷歌官方对于TextView的介绍:向用户显示文本,并允许用户编辑文本。TextView是一个完整的文本编辑器,但基类被配置为不允许编辑。

其在xml里面的基本使用:

 <LinearLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="match_parent"
      android:layout_height="match_parent">
    <TextView
        android:id="@+id/text_view_id"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text="@string/hello" />
 </LinearLayout>

在Android开发中,TextView是比较常用的控件,展示文本信息,其属性也是比较繁多的,可设置文字的字体大小、颜色、背景色、边距等基本样式。

二、继承关系

在这里插入图片描述
在这里插入图片描述
TextView作为顶层View,可以算作一个大类,其继承了View,是Button、EditText等多个关键控件类的父类。

  • Button:用户可以点击或单击以执行操作的用户界面元素。
  • CheckedTextView:TextView支持Checkable界面和显示的扩展。
  • Chronometer:实现简单计时器的类。
  • DigitalClock:已弃用,可用TextClock替代。
  • EditText:用于输入和修改文本的用户界面元素。
  • TextClock:可以将当前日期或时间显示为格式化字符串,可以利用它显示实时刷新的当前时间。

二、常用属性


//部分布局属性(继承View)
layout_width:控件宽度。
layout_height:控件高度。
android:gravity:内部对齐方式:左对齐,右对齐,居中对齐,顶部对齐,底部对齐。
android:layout_gravity:外部对齐方式:左对齐,右对齐,居中对齐,顶部对齐,底部对齐。

//控制输入文本(EditView时弹出的软键盘也会不同)
android:inputType:设置文本的数据类型,如果包含非该类型的文本则不显示,如设置为number类型,如果文本有非数字类型文本,则文本显示不出来。
	类型:
		"none":输入普通字符
		"text":输入普通字符
		"textCapCharacters":输入普通字符
		"textCapWords":单词首字母大小
		"textCapSentences":仅第一个字母大小
		"textAutoCorrect":前两个自动完成
		"textAutoComplete":前两个自动完成
		"textMultiLine":多行输入
		"textImeMultiLine":输入法多行(不一定支持)
		"textNoSuggestions":不提示
		"textUri"URI格式
		"textEmailAddress":电子邮件地址格式
		"textEmailSubject":邮件主题格式
		"textShortMessage":短消息格式
		"textLongMessage":长消息格式
		"textPersonName":人名格式
		"textPostalAddress":邮政格式
		"textPassword":密码格式
		"textVisiblePassword":密码可见格式
		"textWebEditText":作为网页表单的文本格式
		"textFilter":文本筛选格式
		"textPhonetic":拼音输入格式
		"number":数字格式(不能输入小数点)
		"numberSigned":有符号数字格式
		"numberDecimal":可以带小数点的浮点格式(可输入小数点)
		"phone":拨号键盘
		"datetime":日期+时间格式
		"date":日期键盘
		"time":时间键盘
	
//图片和文字共用		
android:drawableBottom:TextVie底部出现一张图片,设置图片地址。
android:drawableEnd:TextView右侧出现一张图片。
android:drawableRight:TextView右侧出现一张图片。
android:drawableLeft:TextView左侧出现一张图片。
android:drawableStart:TextView左侧出现一张图片。
android:drawableTop:TextView上部出现一张图片。
android:drawablePadding:设置text与drawable(图片等)的间隔,一般都与drawableLeft、drawableStart 、drawableEnd 、drawableRight、drawableTop、drawableBottom一起使用。

//控制文本显示(EditView时控制输入)
android:lines:设置文本多少行,当长度超出该值时,超出文本部分不显示,和android:minLines属性类似。
android:maxLines:设置文本最大多少行,当文本达到改行数还没显示完,超出部分不显示,和android:lines属性类似。
android:maxLength:控制文本最多显示/输入多少个字符。
android:minLines:限制文本最低多少行显示。
android:singleLine:布尔类型,表示是否单行显示,已经废弃,建议用android:lines。
android:ellipsize:设置省略号("start":省略号显示在开头、"end":省略号显示在结尾、"middle":省略号显示在中间、"marquee" :以 “跑马灯” 的方式显示,动画横向移动),如果 TextView 的 layout_width 和 layout_height 是指定了像素的固定宽高,该属性会直接生效,如果宽高是"wrap_content"类型的,则需要同时结合"android:maxLines""android:maxEms"属性才可生效。
android:ems:代表的是字符M的宽度,注意不同的设备M的宽度不同,假设设置为6,则可显示文本的长度为6M的长度。
android:maxEms:设置显示最多ems宽。
android:minEms:设置显示最小ems宽。

//文本样式
android:lineSpacingExtra:文本行间距
android:text:设置显示的文本。
android:textSize:设置文本大小。
android:textColor:设置文本的颜色。
android:textStyle:设置文本样式,文字斜体、加粗("normal|italic|bold"),或者通过xml文件同时设置多个textView的属性,复用样式。
android:typeface:设置文本的字体,monospace:等宽字体,sans:无衬线字体,serif:衬线,normal:普通字体。
android:fontFamily:字体组合,里面有多个字体,可搭配字体权重,引用的是xml文件,例如 android:fontFamily="@font/myfont",文件新建在"res->font"中。
android:textFontWeight:设置使用的字体的权重,权重高使用谁,和android:fontFamily一起使用。
android:hint:文本在文本空时提示文本。
android:textColorHint:设置android:hint属性文本的颜色。
android:shadowColor:设置所有文本阴影的颜色,shadowColor、shadowDx、shadowDy、shadowRadius同时使用实现立体文字效果。
android:shadowDx:设置所有文本 x 轴即水平偏移,右为正,左为负,shadowColor、shadowDx、shadowDy、shadowRadius同时使用实现立体文字效果。
android:shadowDy:设置所有文本y轴即垂直偏移,下为正,上为负,shadowColor、shadowDx、shadowDy、shadowRadius同时使用实现立体文字效果。
android:shadowRadius:设置所有文本阴影的半径,shadowColor、shadowDx、shadowDy、shadowRadius同时使用实现立体文字效果,味道极佳。
android:textScaleX:设置文本的水平缩放程度,大于1,x方向拉长加粗,小于1,x方向缩短变细。
android:textColorHighlight:设置点击后文本的背景色,比如 android:autoLink="web" 为超链接的时候,点击后背景色会展示 android:textColorHighlight 设置的颜色。
android:textColorLink:设置文本是链接类型的颜色,和android:autoLink="web"联合使用。

//其他
android:textCursorDrawable:设置光标颜色,应用在EditText输入框View中,自定义的drawable文件。
android:autoLink:指定连接形式文字,可以是("web":匹配网页模式,点击跳转浏览器应用打开网页、"all":匹配所有模式(相当于网络/电子邮件/电话/图)、"email":匹配电子邮件地址,点击后自动跳转邮箱相关的应用、"phone":匹配电子邮件地,点击后自动跳转拨号页面、"none":默认值,什么也没有)。
android:enabled:设置控件针对点击事件是否启用,每个view都有,设置为true则点击事件无响应。

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

full courage

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值