2

在此处输入图像描述

谁能告诉我如何将编辑文本的上两个角设置为圆角(用户名)和电子邮件的下两个角圆角。

4

5 回答 5

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

于 2012-12-25T05:23:23.247 回答
5

在将问题放在这里之前搜索您的要求。

有很多例子可以满足您的要求。看这里这里这里等等……

反正我也回答一下,

您需要在可绘制文件夹中创建 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>

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

希望你明白我的意思。

更新

如果您只想像上面的布局那样编辑文本,那么您必须将两个形状文件命名为 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 设置用户名的背景并对电子邮件执行相同操作,但设置文件 email_shape.xml。

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

希望这会帮助你。正如我已经完成的那样,它对我有用。

于 2012-12-25T05:21:45.863 回答
4

自定义您的 EditText.Modify 这一行android:shape="rectangle"。点击此链接了解更多信息。

<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>

它会为你做的。

于 2012-12-25T05:08:41.090 回答
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>
于 2012-12-25T05:47:21.283 回答
0

可能这段代码应该运行。对于用户名 Edit-text 创建新的 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>
于 2014-03-02T03:07:03.603 回答