2011-11-21 101 views
2

我已經在XML中使用此代碼創建了一個編輯框本地:我怎樣才能獲得Android的編輯框

<EditText 
      android:id="@+id/txtEmail" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="10dp" 
      android:layout_marginRight="10dp" 
      android:layout_marginTop="50dp" 
      android:inputType="textEmailAddress" >    
     </EditText>  

文本框呈現這樣的:

textbox

我怎樣才能得到本機android EditText與橙色邊界時集中,白色背景等?

我嘗試添加

android:background="@android:color/white" 

但僅更改背景爲白色。

回答

6

您看到的風格是Honeycomb(3.0)Android版本的「本機」,特別是新的Holo-dark主題。橙色邊框和白色背景的外觀最後在2.3。*中使用,並且已經被留下。

+0

哦,哈哈......沒有意識到這一點。我的android設備尚未收到更新。謝謝 – xbonez

+0

@neutrino有沒有辦法在Android 3.0設備上顯示Holo主題? –

1

當我們從佈局添加視圖時,它從框架渲染,然後添加我們提供的屬性。因此在您的代碼中,EditText是原生EditText,因設備而異。所以如果你想在特定設備上觀看和感受,可以自己設計風格並使用它。

0

如果你真的想要舊版本的EditText iamges(來自sdk/android-8/platforms/data/res文件夾),將它放在drawable文件夾中,創建一個StateListDrawable,並設置背景EditTextDrawable一樣。但爲什麼要麻煩?讓應用用戶享受其設備的默認外觀。

3

同意中微子的回答:你看到的風格是Honeycomb(3.0)Android版本的「原生」,特別是新的Holo-dark主題。

但仍,如果你想你想,那麼你需要設置樣式AndroidManifest.xml文件內/主題的EditText:

<activity android:theme="@android:style/Theme.Light"> 
1

有同樣的問題...

嘗試使用:

EditText usr=(EditText)findViewById(R.id.editText1); 
usr.setBackgroundResource(17301528); 
+2

直接解決資源的內部ID是一個非常糟糕的主意...... – dermatthias