1.先看效果图
image.png
image.png
2.上代码
<!--悬浮提示文字大小-->
<style name="TextInputLayout_float_style" parent="TextAppearance.Design.Hint">
<item name="android:textSize">10sp</item>
</style>
<!--TextInputLayout自定义效果-->
<style name="TextInputLayout_trans_style" parent="Widget.MaterialComponents.TextInputLayout.FilledBox">
<item name="colorControlNormal">@color/transparent</item>
<item name="colorControlActivated">@color/transparent</item>
<item name="colorControlHighlight">@color/transparent</item>
<!--背景色-->
<item name="boxBackgroundColor">@color/transparent</item>
<!--模式-->
<item name="boxBackgroundMode">filled</item>
<!--圆角-->
<item name="boxCornerRadiusBottomEnd">25dp</item>
<item name="boxCornerRadiusBottomStart">25dp</item>
<item name="boxCornerRadiusTopEnd">25dp</item>
<item name="boxCornerRadiusTopStart">25dp</item>
<!--选中以后底部那条线【filled模式】,或者边框的颜色[outline模式]-->
<item name="boxStrokeColor">@color/transparent</item>
<item name="boxStrokeErrorColor">@color/transparent</item>
<!--悬浮提示语颜色信息-->
<item name="hintTextAppearance">@style/TextInputLayout_float_style</item>
<!--hint文字距离顶部的距离-->
<item name="boxCollapsedPaddingTop">8dp</item>
<!--去掉下划线设置为0dp-->
<item name="boxStrokeWidth">0dp</item>
<item name="boxStrokeWidthFocused">0dp</item>
<!--提示语颜色(预览使用)-->
<item name="android:textColorHint">@color/color_666666</item>
<!--提示语颜色(运行使用)-->
<item name="hintTextColor">@color/color_666666</item>
</style>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="52dp"
android:layout_marginHorizontal="18dp"
android:layout_marginTop="24dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<com.google.android.material.textfield.TextInputLayout
style="@style/TextInputLayout_trans_style"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/editOldPass"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:hint="@string/oldPass"
android:importantForAutofill="no"
android:inputType="textPassword"
android:maxLength="30"
android:maxLines="1"
android:paddingStart="18dp"
android:paddingEnd="60dp"
android:textColor="@color/color_333"
android:textSize="14sp"
tools:text="2111" />
</com.google.android.material.textfield.TextInputLayout>
<ImageView
android:id="@+id/ivOldPass"
android:layout_width="60dp"
android:layout_height="match_parent"
android:layout_gravity="end"
android:contentDescription="@null"
android:paddingHorizontal="22dp"
android:src="@drawable/icon_eye_new_close" />
<View
android:id="@+id/vBg1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/shape_half_stroke1_gray_light" />
</FrameLayout>