2 my logo My_logo_ 于 2012.12.25 15:23 提问

在android中怎么创建圆角的文本框?

有没有人能告诉我怎么样能够设置像下边图一样的圆角编辑框?
CSDN移动问答

3个回答

niangzhi
niangzhi   2012.12.25 15:35
已采纳

你需要两个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

niangzhi
niangzhi 等我把答案再编辑下你再看下
5 年多之前 回复
My_logo_
My_logo_ 我现在用的是android2.2,我猜这个可能是一个bug,后来在android3.1以后的版本中修复了http://code.google.com/p/android/issues/detail?id=939你能说下在低版本的android中这个应该怎么弄么?
5 年多之前 回复
niangzhi
niangzhi 这个在我的app中是没有问题的,你现在测试用的那个api?
5 年多之前 回复
My_logo_
My_logo_ android:bottomLeftRadius="0dp" android:bottomRightRadius="0dp" 无效 .... 也就是还是只有底部的两个是圆角。。。
5 年多之前 回复
longer262110
longer262110   2013.01.05 15:38

在此EditText的父控件加一个圆角的背景图片不就OK了吗

suannai0314
suannai0314 详细的回答更能得到用户的青睐,而且更容易被采纳哦
大约 5 年之前 回复
Sueyexin
Sueyexin   2012.12.25 16:13

定制你的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>

这个应该能帮到你。

My_logo_
My_logo_ 背景回来了,但是上边的编辑框我不想要半径,所以用了android:bottomRightRadius="0dp" android:bottomLeftRadius="0dp",但是仍然在底部显示出来。
5 年多之前 回复
mansuifengqi
mansuifengqi 试下第二段代码
5 年多之前 回复
My_logo_
My_logo_ 那个我知道,但是不行,我改了代码(color = #ffffff),背景变成黑的了,但是还是不行,事实上编辑框默认的背景也没了。
5 年多之前 回复
yiranwujixian
yiranwujixian android:background="@drawable/yourXml"
5 年多之前 回复
My_logo_
My_logo_ 怎么用?我已经创建了上边的xml文件,as res/drawable/edittext,我怎么用上边的代码?谢谢。
5 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!