一、简介
TextView
继承View
,作用就是在界面上显示文本(类似于iOS
中的UILabel
),同时它还是EditText
、Button
两个UI
组件类的父类。- 另外
Android
关闭了它的文字编辑功能,如果想编辑内容,则可以使用EditText
。
二、TextView
TextView
常用属性
属性 | 含义 |
id | 为 TextView 设置一个组件 id ,根据 id ,可以在 Java 代码中通过findViewById() 的方法获取到该对象,然后进行相关属性的设置。 |
layout_width | 组件宽度 |
layout_height | 组件高度 |
text | 设置显示的文本内容,通常是把字符串写到 res/values/strings.xml 文件中, 然后通过 @string/xxx 取得对应的字符串内容。 |
textSize | 字体大小,单位一般是用 sp 。 |
textColor | 设置字体颜色,同上,通过 res/values/colors.xml 资源来引用(使用:@color/xxx ) |
textStyle | 设置字体风格,三个可选值: normal (无效果)、bold (加粗)、 italic (斜体)。 |
autoLink | 识别链接类型:web 、email 、phone 、map 、none 、all 。 |
lines | 最大行数 |
minLines | 最小行数 |
ellipsize | 内容超出的时候,省略显示方式。start:省略号在开头 "...dzm" 、end:省略号在结尾 "dzm..." 、middle:省略号在中间 "dzm...xyq" 、marquee:跑马灯(实现跑马灯,必须让该控件获得焦点) |
gravity | 设置组件中内容的对齐方向,TextView 中是文字,ImageView 中是图片等等,它可以控制内容在组件中多个方位对齐内容:上下左右中 。 |
textAlignment | 设置组件中内容的对齐方向,只能 居中 、居左 、居右 。 |
background | 控件的背景颜色,可以理解为填充整个控件的颜色,可以是图片。 |
shadowColor | 阴影颜色 |
shadowDx | 阴影 x 方向位移 |
shadowDy | 阴影 y 方向位移 |
shadowRadius | 阴影的半径,也可以算作是模糊度。 |
- 案例代码
<!-- TextView --> <TextView android:id="@+id/dzm" android:layout_width="300dp" android:layout_height="300dp" android:text="@string/app_name" android:textSize="50sp" android:textColor="#f11" android:textStyle="bold" android:autoLink="email" android:lines="2" android:minLines="2" android:ellipsize="start" android:gravity="top" android:textAlignment="textEnd" android:background="@drawable/shape_text" android:shadowColor="#cff" android:shadowDx="0" android:shadowDy="50" android:shadowRadius="20" tools:ignore="RtlCompat" />
三、EditText
EditText
特有属性,同时支持上面TextView
属性使用。
属性 | 含义 |
hint | 默认提示文本 |
textColorHint | 默认提示文本颜色 |
textColorHighlight | 被选中文字的底色,默认为蓝色 |
selectAllOnFocus | 布尔值,点击输入框获得焦点后,获取到输入框中所有的文本内容。 |
inputType | 键盘类型,对输入的数据进行限制。 |
minLines | 最小行数 |
maxLines | 最大行数 |
singleLine | 设置单行输入,一旦设置为 true ,则文字不会自动换行。 |
textScaleX | 控制字与字之间的间距 |
capitalize | sentences :仅第一个字母大写。words :每一个单词首字母大小,用空格区分单词。characters :每一个英文字母都大写。 |
numeric | 设置只能输入整数,如果是小数则是:decimal |
gray=“top” | 多行中指针在第一行第一位置 |
typeface | 设置字型 normal 、sans 、serif 、monospace |
autoText | 自动拼写帮助 |
freezesText | 设置保存文本的内容以及光标的位置 |
inputMethod | 为文本指定输入法,需要完全限定名(完整的包名) eg:com.huwei.xxxim |
textCursorDrawable | 设置光标颜色 |
et.setSelection(et.length()) | 设置调整光标位置到最后一行 |
et.requestFocus() | 请求获取焦点,低版本会自动弹出键盘,稍微高点的版本则需要手动去弹出键盘 |
et.clearFocus() | 清除焦点 |
- 案例代码
// 获取到编辑框 EditText et = (EditText)findViewById(R.id.dzm); // 获取焦点 et.requestFocus(); // 设置光标位置 et.setSelection(2);