如何在 android 中制作带有圆角的 EditText 组件

Posted

技术标签:

【中文标题】如何在 android 中制作带有圆角的 EditText 组件【英文标题】:How can I make an EditText component in android with rounded corners 【发布时间】:2021-09-13 12:54:27 【问题描述】:

我想设计一个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_
    android:layout_>




    <de.hdodenhof.circleimageview.CircleImageView
        android:id="@+id/profile_image"
        android:layout_
        android:layout_
        android:layout_marginTop="140dp"
        android:src="@drawable/ic_person"
        app:civ_border_color="#FF000000"
        app:civ_border_
        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_
        android:layout_
        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>

【问题讨论】:

【参考方案1】:

解决方案

    创建可绘制文件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"/>

【讨论】:

【参考方案2】:

使用编辑文本

   <EditText
         android:id="@+id/email"
         android:hint="email"
         android:layout_
         android:layout_
         android:inputType="text"/>

【讨论】:

没有任何解释的答案没有多大帮助。它也没有回答这个问题。

以上是关于如何在 android 中制作带有圆角的 EditText 组件的主要内容,如果未能解决你的问题,请参考以下文章

如何在appbarlayout中制作带有圆角和高程的工具栏?喜欢这张照片

如何制作左上圆角和左下圆角的形状?

如何在android中使用XML布局为图像视图中的图像制作圆角

如何制作带有圆角边框的选择下拉菜单?

如何在Android drawable中为环形制作圆角

如何在形状xml中的笔划两侧制作圆角