效果图
关键代码
xml布局文件代码如下
<?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">
<!-- app:counterEnabled 是否显示计数器 -->
<!-- app:counterMaxLength 设置计数器的最大值 -->
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/usr_til"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="50dp"
app:counterEnabled="true"
app:counterMaxLength="10"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent">
<EditText
android:id="@+id/usr_edt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="用户名" />
</com.google.android.material.textfield.TextInputLayout>
<!-- app:passwordToggleEnabled 是否显示密码开关图片 -->
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/pwd_til"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="50dp"
app:passwordToggleEnabled="true"
app:layout_constraintTop_toBottomOf="@id/usr_til"
app:layout_constraintLeft_toLeftOf="parent">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/pwd_tie"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="密码"
android:inputType="textPassword" />
</com.google.android.material.textfield.TextInputLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
TextInputLayout
控件对EditText
进行了增强,当编辑框输入字符时,hint提示文字会显示在编辑框的上方,而且有一个滑上去的动画,给人丝滑的感觉。要正确使用该控件,需要注意以下两点:
- 编辑框所在的
Activity
需要继承自AppCompatActivity
; TextInputLayout
作为容器只能包含一个EditText
或者TextInputEditText
控件;
TextInputEditText
与EditText
的区别
横屏时,TextInputLayout
和EditText
组合使用时,编辑框内的提示文字不见了,而TextInputLayout
和TextInputEditText
组合使用就能解决这个BUG。
竖屏时,TextInputEditText
与EditText
这两个控件没有区别。
源码地址
https://github.com/yurensan/MaterialDesignDemo
我是予人三,希望大家点赞支持我哦~ 有大家的鼓励我会分享更多内容