2011-11-21 59 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