2013-02-06 16 views
0

我想要一個四捨五入的EditText。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背景的繪製就像

<?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外觀精緻而圓潤,但在模擬器,並在設備中看起來不是這樣嗎?

有沒有人有任何想法,爲什麼會這樣?

感謝

+0

爲什麼在''標籤中有'android:padding =「10dp」'屬性? http://developer.android.com/guide/topics/resources/drawable-resource.html#Shape –

+0

刪除了「android:padding」標記,仍然沒有任何改進。所以放置google鏈接也沒有幫助。正如我在xml的圖形設計部分所說的那樣,edittext看起來很好,並且在設備或模擬器中測試過了,因此您可以對其進行舍入處理: – kaplanfat

回答

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,注意在上面的代碼中加入填充屬性。

證明在於布丁:;-)

設備截圖:

enter image description here

模擬器截圖:

enter image description here

+0

?因爲它在xml上看起來很好,但是當我運行它時,它仍然不起作用。 – kaplanfat

+0

@FatihKaplan:以5秒鐘的時間上傳屏幕截圖。 –

+0

@FatihKaplan:這是在一個設備上。 –

0

您沒有提供stroke元素,所以您可能只是看不到背景(因爲它只是一個白色填充!)。當您更改背景或添加筆觸時,它應該是可見的。

地址:

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

而且噗!矩形是可見的:) BTW填充不是問題 - 它簡單地被忽略。

+0

我已經添加了[stroke]元素,但是沒有任何變化。正如我所說的,它在XML上看起來很好,它只是在設備上不起作用。 – kaplanfat

+1

hm。你在運行什麼設備? Android版本是什麼?這很重要,因爲某些功能稍後可用,而且更快一些。另外,你是否以任何方式與代碼中的「EditText」交互? – andr

+0

我非常非常抱歉忙於大家現在我檢查了,我看到我正在改變背景也代碼。感謝大家的幫助。 – kaplanfat