如何创build圆angular的EditText?
有没有什么办法可以创build具有圆angular的EditText ? 
 有比CommonsWare写的更简单的方法。 只需创build一个可绘制的资源,指定EditText绘制方式: 
 <?xml version="1.0" encoding="utf-8"?> <!-- res/drawable/rounded_edittext.xml --> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" android:padding="10dp"> <solid android:color="#FFFFFF"/> <corners android:bottomRightRadius="15dp" android:bottomLeftRadius="15dp" android:topLeftRadius="15dp" android:topRightRadius="15dp"/> </shape> 
然后,只需在您的布局中引用此可绘制对象:
 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="5dip" android:background="@drawable/rounded_edittext" /> </LinearLayout> 
你会得到像这样的东西:

编辑
 基于马克的评论,我想添加你可以为你的EditText创build不同的状态的方式: 
 <?xml version="1.0" encoding="utf-8"?> <!-- res/drawable/rounded_edittext_states.xml --> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:state_enabled="true" android:drawable="@drawable/rounded_focused" /> <item android:state_focused="true" android:state_enabled="true" android:drawable="@drawable/rounded_focused" /> <item android:state_enabled="true" android:drawable="@drawable/rounded_edittext" /> </selector> 
这些是州:
 <?xml version="1.0" encoding="utf-8"?> <!-- res/drawable/rounded_edittext_focused.xml --> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" android:padding="10dp"> <solid android:color="#FFFFFF"/> <stroke android:width="2dp" android:color="#FF0000" /> <corners android:bottomRightRadius="15dp" android:bottomLeftRadius="15dp" android:topLeftRadius="15dp" android:topRightRadius="15dp"/> </shape> 
 而…现在, EditText应该看起来像: 
 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" android:background="@drawable/rounded_edittext_states" android:padding="5dip"/> </LinearLayout> 
下面是一个XML文件中的解决scheme(带有一些额外的红利代码):
 <?xml version="1.0" encoding="utf-8"?> <!-- res/drawable/edittext_rounded_corners.xml --> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:state_focused="true"> <shape> <solid android:color="#FF8000"/> <stroke android:width="2.3dp" android:color="#FF8000" /> <corners android:radius="15dp" /> </shape> </item> <item android:state_pressed="true" android:state_focused="false"> <shape> <solid android:color="#FF8000"/> <stroke android:width="2.3dp" android:color="#FF8000" /> <corners android:radius="15dp" /> </shape> </item> <item android:state_pressed="false" android:state_focused="true"> <shape> <solid android:color="#FFFFFF"/> <stroke android:width="2.3dp" android:color="#FF8000" /> <corners android:radius="15dp" /> </shape> </item> <item android:state_pressed="false" android:state_focused="false"> <shape> <gradient android:startColor="#F2F2F2" android:centerColor="#FFFFFF" android:endColor="#FFFFFF" android:angle="270" /> <stroke android:width="0.7dp" android:color="#BDBDBD" /> <corners android:radius="15dp" /> </shape> </item> <item android:state_enabled="true"> <shape> <padding android:left="4dp" android:top="4dp" android:right="4dp" android:bottom="4dp" /> </shape> </item> </selector> 
然后您只需将background属性设置为edittext_rounded_corners.xml文件即可:
 <EditText android:id="@+id/editText_name" android:background="@drawable/edittext_rounded_corners"/> 
试试这个,
1.在Drawable中创buildrounded_edittext.xml文件
  <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" android:padding="15dp"> <solid android:color="#FFFFFF"/> <corners android:bottomRightRadius="0dp" android:bottomLeftRadius="0dp" android:topLeftRadius="0dp" android:topRightRadius="0dp"/> <stroke android:width="1dip" android:color="#f06060" /> </shape> 
2.在xml文件中为您的EditText应用背景
  <EditText android:id="@+id/edit_expiry_date" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="10dip" android:background="@drawable/rounded_edittext" android:hint="@string/shop_name" android:inputType="text"/> 
你会得到这样的输出
  
 
感谢Norfeldt的回答。 为了获得更好的内部阴影效果,我对其渐变进行了轻微的改变。
 <item android:state_pressed="false" android:state_focused="false"> <shape> <gradient android:centerY="0.2" android:startColor="#D3D3D3" android:centerColor="#65FFFFFF" android:endColor="#00FFFFFF" android:angle="270" /> <stroke android:width="0.7dp" android:color="#BDBDBD" /> <corners android:radius="15dp" /> </shape> </item> 
在一个轻的背景布局看起来很棒..
  
 
按照我的想法,它已经有了圆angular。
如果你希望他们更圆润,你将需要:
-  克隆组成EditText背景的所有九个补丁PNG图像(在您的SDK中find)
- 修改每个有更多圆angular
-  克隆将这些EditText背景组合成一个Drawable的XMLStateListDrawable资源,并修改它以指向更多的九个修补程序的PNG文件
-  使用新的StateListDrawable作为EditText小部件的背景
如果你只想要angular落曲线不是完整的,那么使用下面的代码。
 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <corners android:radius="10dp" /> <padding android:bottom="3dp" android:left="0dp" android:right="0dp" android:top="3dp" /> <gradient android:angle="90" android:endColor="@color/White" android:startColor="@color/White" /> <stroke android:width="1dp" android:color="@color/Gray" /> </shape> 
 它只会曲线EditText的四个angular度。