Android TextView 与 EditText 的区别与使用

简介: Android TextView 与 EditText 的区别与使用

一、简介

  • TextView 继承 View,作用就是在界面上显示文本(类似于 iOS 中的 UILabel),同时它还是 EditTextButton 两个 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 识别链接类型:webemailphonemapnoneall
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 设置字型 normalsansserifmonospace
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);

相关文章
|
3月前
|
安全 Android开发 数据安全/隐私保护
请说明鸿蒙操作系统与其他操作系统(如Android和iOS)的主要区别。
请说明鸿蒙操作系统与其他操作系统(如Android和iOS)的主要区别。
59 1
|
3月前
|
Android开发
Android基础知识:请解释Service是什么,它与IntentService的区别是什么?
Android基础知识:请解释Service是什么,它与IntentService的区别是什么?
39 0
|
7月前
|
编解码 物联网 开发工具
Android平台内网RTSP网关和轻量级RTSP服务的区别和联系
我们在对接轻量级RTSP服务的时候,遇到客户这样的使用场景:客户是用于车载自组网环境,确保多辆车之间可以相互看到对方的实时视频,以期可以了解到前方路况等关注的信息。
102 0
|
3月前
|
数据可视化 Android开发 容器
Android UI设计: 请解释LinearLayout、RelativeLayout和ConstraintLayout的区别。
Android UI设计: 请解释LinearLayout、RelativeLayout和ConstraintLayout的区别。
95 5
|
30天前
|
Android开发
Android开发小技巧:怎样在 textview 前面加上一个小图标。
Android开发小技巧:怎样在 textview 前面加上一个小图标。
12 0
|
2月前
|
Java 测试技术 API
安卓APP和iOS APP在测试上的区别是什么?
安卓APP和iOS APP在测试上的区别是什么?
|
3月前
|
Android开发 容器
Android安卓gravity和layout_gravity的区别
Android安卓gravity和layout_gravity的区别
46 2
|
3月前
|
XML Android开发 数据格式
Android安卓 match_parent与match_parent区别
Android安卓 match_parent与match_parent区别
32 0
|
3月前
|
Android开发
Android基础知识:什么是Fragment?与Activity的区别是什么?
Android基础知识:什么是Fragment?与Activity的区别是什么?
298 54