Ammar Bakr Asked: 2023-09-22 00:04:23 +0800 CST2023-09-22 00:04:23 +0800 CST 2023-09-22 00:04:23 +0800 CST XML 中 EditText 的自定义设计 772 我想在 android xml 中得到这个设计,不完全是,但接近它。我对 Android 还很陌生,所以请在您赞赏的答案中更加具体。 自定义编辑文本 尝试使用自定义背景来更接近上面的设计,但无法将该标签保留在输入字段的顶部。 谢谢 android 1 个回答 Voted Best Answer Pawan Singh Harariya 2023-09-22T00:50:26+08:002023-09-22T00:50:26+08:00 您可以使用TextInputLayoutMaterial Design,这是 Google 推荐的 Android 设计指南。 您可以在此处阅读有关不同 TextInputLayout 设计的更多信息。 将材料设计依赖项添加到应用程序的应用程序级模块。 implementation("com.google.android.material:material:1.9.0") res/drawable为文件夹中的背景创建圆角边框 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <stroke android:width="2dp" android:color="@android:color/holo_blue_dark" /> <corners android:radius="12dp" /> </shape> 创建TextInputLayout并应用圆形背景可绘制对象。hint将要显示为标签的文本设置为。最初它会显示为提示,但当您开始输入时,它会动画到顶部,并像您想要的那样显示为标签。 <com.google.android.material.textfield.TextInputLayout android:id="@+id/textField" android:layout_width="match_parent" app:boxBackgroundMode="none" android:paddingTop="16dp" android:textColorHint="@android:color/holo_blue_dark" app:hintTextColor="@android:color/holo_blue_dark" android:layout_centerInParent="true" android:layout_marginHorizontal="12dp" android:background="@drawable/round_border_bg" android:layout_height="wrap_content" android:hint="Email Address"> <com.google.android.material.textfield.TextInputEditText android:layout_width="match_parent" android:paddingTop="8dp" android:layout_height="wrap_content" /> </com.google.android.material.textfield.TextInputLayout> 示例输出: 正常 - 文本显示为提示 当用户输入时 - 文本显示为标签
您可以使用
TextInputLayout
Material Design,这是 Google 推荐的 Android 设计指南。您可以在此处阅读有关不同 TextInputLayout 设计的更多信息。
将材料设计依赖项添加到应用程序的应用程序级模块。
res/drawable
为文件夹中的背景创建圆角边框创建
TextInputLayout
并应用圆形背景可绘制对象。hint
将要显示为标签的文本设置为。最初它会显示为提示,但当您开始输入时,它会动画到顶部,并像您想要的那样显示为标签。示例输出:
正常 - 文本显示为提示
当用户输入时 - 文本显示为标签