我尝试在main.xml的Graphical布局中创建一个已编辑的EditText.It。但是当我启动AVD时它仍然是正方形。这是代码:
<EditText
android:id="@+id/et"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:padding="5dp"
android:hint="Enter a #hashtag or keyword"
android:textColor="#000000"
android:drawableLeft="@drawable/magnifier"
android:background="@drawable/rounded_edittext"
android:textSize="16dp" >
<requestFocus />
</EditText>
<!-- res/drawable/rounded_edittext.xml --> <shape xmlns:android="http://schemas.android.com/apk/res/android"
android:padding="10dp"
android:shape="rectangle" >
<solid android:color="#FFFFFF" />
<corners
android:bottomLeftRadius="15dp"
android:bottomRightRadius="15dp"
android:topLeftRadius="15dp"
android:topRightRadius="15dp" />
答案 0 :(得分:2)
这是一个圆形编辑文本,在clik状态下也会发生变化,只需使用xml
即可<?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>
普通舍入的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"?>
<!-- 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 version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<EditText
android:id="@+id/et"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:background="@drawable/rounded_edittext"
android:drawableLeft="@drawable/ic_launcher"
android:hint="Enter a Login"
android:textColor="#000000"
android:textSize="16dp"
android:padding="5dp">
<requestFocus />
</EditText>
<EditText
android:id="@+id/et2"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/et"
android:layout_marginTop="14dp"
android:background="@drawable/rounded_edittext"
android:drawableLeft="@drawable/ic_launcher"
android:ems="10"
android:hint="Enter a Password"
android:padding="5dp"
android:textColor="#000000"
android:textSize="16dp" />
</RelativeLayout>
这是模拟器上结果的截屏:
答案 1 :(得分:0)
//我觉得你的rounded_edittext.xml错了。
你可以删除这2行
android:padding="10dp"
android:shape="rectangle"
//或者您可以使用myshape.xml
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FAFFFA"/>
<corners android:bottomRightRadius="15dp" android:bottomLeftRadius="15dp"
android:topLeftRadius="15dp" android:topRightRadius="15dp"/>
<stroke android:width="3dp" android:color="#C3C3C3"/>
</shape>