0

我正在尝试获得一个圆形的 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 看起来很好且圆润,但在模拟器和设备中它看起来不像那样?

有谁知道为什么会这样?

谢谢

4

2 回答 2

1

删除该android:padding="10dp"属性以使可绘制对象看起来像这样。我刚刚对其进行了测试,删除填充属性显示圆角就好了。

<?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>

要添加paddingShape Drawable,请注意上面代码中添加的 padding 属性。

证据就在布丁里:;-)

设备截图:

在此处输入图像描述

模拟器截图:

在此处输入图像描述

于 2013-02-06T11:51:23.487 回答
0

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

添加:

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

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

于 2013-02-06T11:59:17.313 回答