Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android中覆盖EditText的样式_Android_Styles_Android Edittext - Fatal编程技术网

在Android中覆盖EditText的样式

在Android中覆盖EditText的样式,android,styles,android-edittext,Android,Styles,Android Edittext,我需要覆盖两个EditText实例的样式。关于这一点,我有两个问题: 1) 一个EditText用于输入密码,但字体相同。如果我删除password=true,它就会工作。默认情况下,字体=sans <style name="customEdit" parent="@android:style/Widget.EditText"> <item name="android:password">true</item> <item name="a

我需要覆盖两个EditText实例的样式。关于这一点,我有两个问题:

1) 一个EditText用于输入密码,但字体相同。如果我删除password=true,它就会工作。默认情况下,字体=sans

<style name="customEdit" parent="@android:style/Widget.EditText">
    <item name="android:password">true</item>
    <item name="android:typeface">serif</item>  //doesn work.
</style>

真的
衬线//不起作用。
2) 这两个字段都有提示。我需要设置这些提示的颜色;可能吗?我没有找到这样的东西:android:hintColor

<item name="android:textColor">#acacac</item> //works for text only.
#acacac//仅适用于文本。
我尝试了两种密码类型:

  • android:inputType=“textPassword”
  • android:password=true

两者都会自动将字体更改为默认字体,即使在“UI构造函数”中也是如此。

对于第二个问题,这可能会有所帮助(在EditText标记下):

在您的活动中:

    passwordText.setTypeface(Typeface.SERIF);
    passwordText.setTransformationMethod(new PasswordTransformationMethod());

这里的“passwordText”是密码的编辑文本。

这应该可以,试试看

<style name="customEdit" parent="@android:style/Widget.EditText">
        <item name="android:inputType">textPassword</item>
        <item name="android:password">true</item>
        <item name="android:typeface">serif</item> 
        <item name="android:textColorHint=">#F28EC1</item>
        <item name="android:textSize">20sp</item>
        <item name="android:textStyle">bold</item>         
    </style>

文本密码
真的
衬线
#F28EC1
20便士
大胆的

谢谢。很遗憾,密码的答案无效。好的,您可以在活动中设置密码类型编辑文本的字体,而不是在xml文件中。请参见答案中的编辑。
<style name="customEdit" parent="@android:style/Widget.EditText">
        <item name="android:inputType">textPassword</item>
        <item name="android:password">true</item>
        <item name="android:typeface">serif</item> 
        <item name="android:textColorHint=">#F28EC1</item>
        <item name="android:textSize">20sp</item>
        <item name="android:textStyle">bold</item>         
    </style>