TextView 文本框
- 用于显示文本的一个控件。
- 文本的字体尺寸单位为 sp 。
- sp: scaled pixels(放大像素). 主要用于字体显示。
文本常用属性
属性名 | 说明 |
---|---|
id | 为TextView设置一个组件id,根据id,我们可以在Java代码中通过 findViewById()的方法获取到该对象,然后进行相关属性的设置 |
layout_width | 设置组件的宽度 |
layout_height | 设置组件的高度 |
gravity | 设置控件中内容的对齐方向,TextView中是文字,ImageView中是图片 等等 |
text | 设置显示的文本内容,一般我们是把字符串写到string.xml文件中,然后 通过@String/xxx取得对应的字符串内容的 |
textColor | 设置字体颜色,同上text一样,通过colors.xml资源来引用 |
textStyle | 设置字体风格,三个可选值:normal(无效果),bold(加粗),italic(斜 体) |
textSize | 字体大小,单位一般是用sp |
background | 控件的背景颜色,可以理解为填充整个控件的颜色,可以是图片 |
autoLink | 识别链接类型 (web, email, phone ,map ,none, all) |
text设置示例
文本边框设置可以使用 shape。
带图片的TextView
示例图
代码
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/a"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="微信"
android:gravity="center"
android:textSize="20sp"
app:drawableTopCompat="@drawable/abc_name"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintEnd_toStartOf="@+id/b" />
<TextView
android:id="@+id/b"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="通讯录"
android:gravity="center"
android:textSize="20sp"
app:drawableTopCompat="@drawable/abc_name"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/a"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintEnd_toStartOf="@+id/c" />
<TextView
android:id="@+id/c"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="发现"
android:gravity="center"
android:textSize="20sp"
app:drawableTopCompat="@drawable/abc_name"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/b"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintEnd_toStartOf="@+id/d" />
<TextView
android:id="@+id/d"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="我"
android:gravity="center"
android:textSize="20sp"
app:drawableTopCompat="@drawable/abc_name"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/c"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintEnd_toEndOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
EditText 输入框
EditText 输入框,集成TextView, 也继承其属性
EditText 属性
属姓名 | 说明 |
---|---|
android:hint | 默认提示文本 |
android:textColorHint | 默认提示文本的颜色 |
android:selectAllOnFocus | 布尔值。点击输入框获得焦点后,选中输入框中所有的文本内容 |
android:inputType | 对输入的数据进行限制 |
android:minLines | 设置最小行数 |
android:maxLines | 设置最大行数,当输入内容超过maxline,文字会自动向上 滚动!! |
android:singleLine | 只允许单行输入,而且不会滚动 |
android:textScaleX | 设置字与字的水平间隔 |
android:textScaleY | 设置字与字的垂直间隔 |
android:capitalize | sentences:仅第一个字母大写 ;words:每一个单词首 字母大小,用空格区分单词;characters:每一个英文字母 都大写 |
输入框类型
文本类型,大写、小写、数字符合
android:inputType="none"
android:inputType="text"
android:inputType="textCapCharacters"
android:inputType="textCapWords"
android:inputType="textCapSentences"
android:inputType="textAutoCorrect"
android:inputType="textAutoComplete"
android:inputType="textMultiLine"
android:inputType="textImeMultiLine"
android:inputType="textNoSuggestions"
android:inputType="textUri"
android:inputType="textEmailAddress"
android:inputType="textEmailSubject"
android:inputType="textShortMessage"
android:inputType="textLongMessage"
android:inputType="textPersonName"
android:inputType="textPostalAddress"
android:inputType="textPassword" // 密码类型
android:inputType="textVisiblePassword"
android:inputType="textWebEditText"
android:inputType="textFilter"
android:inputType="textPhonetic"
数值类型
android:inputType="number"
android:inputType="numberSigned"
android:inputType="numberDecimal"
android:inputType="phone"//拨号键盘
android:inputType="datetime"
android:inputType="date"//日期键盘
android:inputType="time"//时间键盘
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText editText = findViewById(R.id.edName);
editText.requestFocus(); // 自动过去光标
editText.setSelection(2); // 光标自动显示在指定的下标的位置
editText.clearFocus(); // 清除光标
}