如何在 android 中制作圆角的 EditText 组件
How can I make an EditText component in android with rounded corners
我想设计一个 EditText
组件,使其具有类似于此 login UI 的圆角。我已成功实施自定义舍入 ImageView
但在电子邮件和密码 EditText
.
上失败
下面是我当前的 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">
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/profile_image"
android:layout_width="96dp"
android:layout_height="96dp"
android:layout_marginTop="140dp"
android:src="@drawable/ic_person"
app:civ_border_color="#FF000000"
app:civ_border_width="2dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.463"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/email"
android:layout_width="40dp"
android:layout_height="0dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginStart="60dp"
android:layout_marginBottom="412dp"
android:gravity="top"
android:text="@string/email"
android:textAppearance="@style/email"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
使用 EditText
<EditText
android:id="@+id/email"
android:hint="email"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:inputType="text"/>
解决方案
- 创建可绘制文件
rounded_edittext.xml
- 将此可绘制文件添加到
EditText
的属性中 background:
第 1 步
正在 res > drawable > rounded_edittext.xml
中创建文件
rounded_edittext.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:padding="10dp"
android:shape="rectangle">
<solid android:color="#14809AB1" />
<corners
android:bottomLeftRadius="10dp"
android:bottomRightRadius="10dp"
android:topLeftRadius="10dp"
android:topRightRadius="10dp" />
</shape>
第 2 步
添加可绘制文件作为 background
属性的值。
<EditText
.....
android:background="@drawable/rounded_edittext"/>
我想设计一个 EditText
组件,使其具有类似于此 login UI 的圆角。我已成功实施自定义舍入 ImageView
但在电子邮件和密码 EditText
.
下面是我当前的 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">
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/profile_image"
android:layout_width="96dp"
android:layout_height="96dp"
android:layout_marginTop="140dp"
android:src="@drawable/ic_person"
app:civ_border_color="#FF000000"
app:civ_border_width="2dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.463"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/email"
android:layout_width="40dp"
android:layout_height="0dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginStart="60dp"
android:layout_marginBottom="412dp"
android:gravity="top"
android:text="@string/email"
android:textAppearance="@style/email"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
使用 EditText
<EditText
android:id="@+id/email"
android:hint="email"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:inputType="text"/>
解决方案
- 创建可绘制文件
rounded_edittext.xml
- 将此可绘制文件添加到
EditText
的属性中background:
第 1 步
正在 res > drawable > rounded_edittext.xml
rounded_edittext.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:padding="10dp"
android:shape="rectangle">
<solid android:color="#14809AB1" />
<corners
android:bottomLeftRadius="10dp"
android:bottomRightRadius="10dp"
android:topLeftRadius="10dp"
android:topRightRadius="10dp" />
</shape>
第 2 步
添加可绘制文件作为 background
属性的值。
<EditText
.....
android:background="@drawable/rounded_edittext"/>