谁能告诉我如何将编辑文本的上两个角设置为圆角(用户名)和电子邮件的下两个角圆角。
5 回答
您将需要两个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
。
在将问题放在这里之前搜索您的要求。
反正我也回答一下,
您需要在可绘制文件夹中创建 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 ... />
希望这会帮助你。正如我已经完成的那样,它对我有用。
自定义您的 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>
它会为你做的。
使用样式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>
可能这段代码应该运行。对于用户名 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>