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

时间:2012-12-25 05:01:54

标签: android android-layout android-edittext

enter image description here

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

5 个答案:

答案 0 :(得分: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>

对于底部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>

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

答案 1 :(得分:5)

在此处提出问题之前,请搜索您的要求。

您的要求有很多例子。请参阅hereherehere等...

无论如何我也要回答,

您需要在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>

之后只需将其设置为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>

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

希望你得到我的观点。

<强>更新

如果你只想像上面的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>

另一个文件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>

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

请专注于这两个文件。我在<corners ... />

中做了更改

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

答案 2 :(得分:4)

自定义EditText.Modify此行android:shape="rectangle"。请按照此Link获取更多信息。

<selector><item android:state_pressed="true">
    <shape android:shape="rectangle">
        <gradient android:startColor="#40FFE600"
            android:centerColor="#60FFE600" android:endColor="#90FFE600"
            android:angle="270" android:centerX="0.5" android:centerY="0.5" />
        <stroke android:width="5dp" android:color="#50FF00DE" />
        <corners android:radius="7dp" />
        <padding android:left="10dp" android:top="6dp" android:right="10dp"
            android:bottom="6dp" />
    </shape>
</item>
</selector>

试试这个 -

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" android:padding="10dp">
 <solid android:color="#FFFFFF"/>
    <corners
     android:bottomRightRadius="8dp"
     android:bottomLeftRadius="8dp"
  android:topLeftRadius="8dp"
  android:topRightRadius="8dp"/>
</shape>

它会为你做。

答案 3 :(得分:1)

使用样式bottem.xml

将其保存在drawable中
<?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

        <item>
            <shape android:shape="rectangle" >
                <solid android:color="#FF00FF00" />

                <corners
                    android:bottomLeftRadius="40dp"
                    android:bottomRightRadius="40dp" />
            </shape>
        </item>

    </layer-list>

答案 4 :(得分:0)

可能这个代码应该运行。 用户名编辑文本制作新的XML文件并将其保存在可绘制的命名“corners_top”中 并复制粘贴此代码。

    <?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="5dp"
    android:bottomRightRadius="0dp"
    android:bottomLeftRadius="0dp"
    android:topRightRadius="7dp"
    android:topLeftRadius="7dp" />

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

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

</shape>

对于电子邮件编辑文本,在可绘制文件中创建另一个xml命名为“corner_bottom”并复制粘贴下面的代码。

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

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

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

</shape>