如何创建如图中给出的圆形编辑文本

Aam*_*hah 2 android android-layout android-edittext

在此输入图像描述

任何人都可以告诉我如何将编辑文本的上两个角设置为圆角(用户名)和电子邮件的下方两个角.

Sid*_*ele 7

您将需要两个shape可绘制文件.

对于顶级EditText,请调用此方法top_edittext_bg:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <solid
        android:color="#e2e2e2" >
    </solid>

    <corners
        android:radius="1dp"
        android:bottomLeftRadius="0.1dp"
        android:bottomRightRadius="0.1dp"
        android:topLeftRadius="5dp"
        android:topRightRadius="5dp" >
    </corners>

</shape>
Run Code Online (Sandbox Code Playgroud)

而对于底部EditText,请将其称为例如bottom_edittext_bg:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <solid
        android:color="#e2e2e2" >
    </solid>

    <corners
        android:radius="1dp"
        android:bottomLeftRadius="5dp"
        android:bottomRightRadius="5dp"
        android:topLeftRadius="0.1dp"
        android:topRightRadius="0.1dp" >
    </corners>

</shape>
Run Code Online (Sandbox Code Playgroud)

然后在android:background="@drawable/RESPECTIVE_XMLS"属性中将这些设置为相关的EditText's.


Shr*_*jan 5

在此之前提出问题,搜索您的要求.

您的要求有很多例子.看到这里,这里这里等......

无论如何我还要回答,

您需要在drawable文件夹中创建shape.xml.

    <?xml version="1.0" encoding="UTF-8"?>
<shape 
    xmlns:android="http://schemas.android.com/apk/res/android">
    <stroke 
        android:width="1dp" 
        android:color="#505050"/>
    <corners 
        android:radius="7dp" />

    <padding 
        android:left="1dp"
        android:right="1dp"
        android:top="1dp"
        android:bottom="1dp"/>

    <solid android:color="#505050"/>

</shape>
Run Code Online (Sandbox Code Playgroud)

之后,只需将其设置为LilnearLayout的背景.如果你想要实现上面这样的布局,那么与EditText无关.

例如

 <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="30dp"
        android:background="@drawable/shape"
        android:orientation="vertical"
        android:padding="5dp" >

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="5dp"
            android:textStyle="bold"
            android:text="Sign In" />

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textStyle="bold"
            android:textColor="#ffffff"
            android:text="Sign Up" />
    </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

就像上面的解释一样,让我知道你的建议或输出.

希望你得到我的观点.

更新

如果您只需要像上面的Layout那样的EditText,那么您必须将两个形状文件名称设置为username_shape.xml和email_shape.xml

username_shape.xml如下所示:

    <?xml version="1.0" encoding="UTF-8"?>
<shape 
    xmlns:android="http://schemas.android.com/apk/res/android">
    <stroke 
        android:width="1dp" 
        android:color="#505050"/>
    <corners 

        android:topLeftRadius="7dp"
        android:topRightRadius="7dp" 
        android:bottomLeftRadius="0dp"
        android:bottomRightRadius="0dp"/>

    <padding 
        android:left="1dp"
        android:right="1dp"
        android:top="1dp"
        android:bottom="1dp"/>

    <solid android:color="#505050"/>

</shape>
Run Code Online (Sandbox Code Playgroud)

另一个文件email_shape.xml如下所示:

    <?xml version="1.0" encoding="UTF-8"?>
<shape 
    xmlns:android="http://schemas.android.com/apk/res/android">
    <stroke 
        android:width="1dp" 
        android:color="#505050"/>
    <corners 

        android:topLeftRadius="0dp"
        android:topRightRadius="0dp" 
        android:bottomLeftRadius="7dp"
        android:bottomRightRadius="7dp"/>

    <padding 
        android:left="1dp"
        android:right="1dp"
        android:top="1dp"
        android:bottom="1dp"/>

    <solid android:color="#505050"/>

</shape>
Run Code Online (Sandbox Code Playgroud)

现在,使用username_shape.xml设置usename的背景,并对电子邮件执行相同操作,但设置文件email_shape.xml.

请专注于该文件.我做了改变了<corners ... />

希望这会帮助你.因为我已经完成了它,它对我有用.