EditText没有四舍五入

时间:2013-02-06 11:44:48

标签: android xml layout

我正在尝试使用舍入的EditText。

布局中的我的EditText就像

<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp" >

    <EditText
        android:id="@+id/EditTextSearch"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/edit_round"
        android:padding="5dip"
        android:singleLine="true" >

        <requestFocus />
    </EditText>

    <ImageView
        android:id="@+id/searchBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:src="@android:drawable/ic_menu_search" />
</FrameLayout>

和我用作EditText背景的drawable就像

 <?xml version="1.0" encoding="utf-8"?>
 <!-- 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="12dp"
    android:bottomRightRadius="12dp"
    android:topLeftRadius="12dp"
    android:topRightRadius="12dp" />

</shape>

在我的XML图形布局中,我的edittext看起来很精细和圆润,但在模拟器和设备中它看起来不像?

有谁知道为什么会这样?

由于

2 个答案:

答案 0 :(得分:1)

删除android:padding="10dp"属性以使drawable看起来像这样。我只是测试了它,删除padding属性显示圆角就好了。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <solid android:color="#FFFFFF" />

    <padding
        android:bottom="10dp"
        android:left="10dp"
        android:right="10dp"
        android:top="10dp" />

    <corners
        android:bottomLeftRadius="12dp"
        android:bottomRightRadius="12dp"
        android:topLeftRadius="12dp"
        android:topRightRadius="12dp" />

</shape>

要将padding添加到Shape Drawable,请注意上面代码中添加的填充属性。

证据在于布丁:; - )

设备屏幕截图:

enter image description here

模拟器截图:

enter image description here

答案 1 :(得分:0)

您没有提供stroke元素,因此您可能只是看不到背景(因为它只是白色填充!)。当您更改背景或添加笔划时,它应该是可见的。

添加:

<stroke android:width="2dp" android:color="#000000" />

噗!矩形是可见的:) BTW填充不是问题 - 它只是被忽略了。