在Android中的EditText中的文本样式

3

我有一个登录页面,有两个EditText和一个登录Button

代码如下:

<EditText
    android:id="@+id/EditText_username"
    ...
    android:hint="@string/username"
    android:inputType="text"
    ...
    android:maxLength="9"
    android:maxLines="1" >

    <requestFocus />
</EditText>

<EditText
    android:id="@+id/EditText_password"
    ...
    android:hint="@string/password"
    android:inputType="textPassword" />

<Button
    android:id="@+id/Button_login"
    ...
    android:text="@string/login" />

我在用户名EditText和密码EditText上使用了一个安卓提示。 我的问题是当页面在模拟器上显示时,用户名和密码的提示样式不同,这非常令人恼火。 以下是问题的截图 -

http://i49.tinypic.com/261lzli.png

请注意:用户名使用系统字体,而密码使用单色字体。 我如何使它们相同?! 不管是单色字体还是系统字体,都可以。
提前感谢!

我建议您在EditText上方使用带有标题“登录”和“密码”的TextView。这样,您将解决问题并提供更好的用户体验:TextView将始终对用户可见,并且当用户在EditText中输入字符时,提示将会消失。 - Egor
我不知道为什么,但我觉得太多的TextViewEditText会使界面变得混乱。因此,我宁愿使用提示,这样人们就知道他们正在输入什么。而且这两个字段是如此明显,你不可能把一个错认为另一个 :) - Sudhanshu
你在手机上试用过这个apk吗? - Sree
是的,我已经在两部手机和一个模拟器上测试过了。问题依旧。 - Sudhanshu
1个回答

4

在你的onCreate()方法中尝试以下内容:

EditText password = (EditText) findViewById(R.id.EditText_password);  
password.setTypeface(Typeface.DEFAULT); 
password.setTransformationMethod(new PasswordTransformationMethod());

不是这样的。问题出在我认为密码字段必须是单色样式,因为我在密码的 EditText 中指定了 "inputType = textPassword"。如果我将焦点放在 Button 上,这确实不能解决问题,因为焦点不是问题的原因。 - Sudhanshu
在您的 onCreate 方法中尝试以下代码: EditText password = (EditText) findViewById(R.id.EditText_password); password.setTypeface(Typeface.DEFAULT); password.setTransformationMethod(new PasswordTransformationMethod()); - MarkMan
是的!非常完美!你能否通过编辑将这个TypeFace东西放入你的答案中?一旦你这样做了,我就会接受它!非常感谢!干杯! - Sudhanshu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接