Edittext android:textColor无法在第一个输入上工作

时间:2014-02-28 10:28:01

标签: android xml android-edittext

我的布局中有一个EditText字段,我希望将textColor设置为@color/fire_red color。为此,我将XML中的android:textColor设置为该值。

现在每当我开始输入时,键入的值都是黑色,只有在我将焦点放在该字段上后才会变为红色。

有可能解决这个问题吗?我正在测试HTC one X And​​roid 4.3。

修改

XML:

<LinearLayout
    style="@style/InputLayout"
    android:id="@+id/account_view">
    <TextView
        style="@style/InputLabel"
        android:text="@string/account" />
    <EditText
        style="@style/InputField" />
</LinearLayout>

风格:

<style name="InputField">
    <item name="android:layout_width">0dp</item>
    <item name="android:layout_height">@dimen/field_height</item>
    <item name="android:layout_weight">25</item>
    <item name="android:textCursorDrawable">@null</item>
    <item name="android:textColor">@color/fire_red</item>
    <item name="android:hint"></item>
</style>

2 个答案:

答案 0 :(得分:1)

试试这个:

<EditText
        android:id="@+id/editText1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10" 
        android:textColor="@color/red">

    </EditText>

color.xml (res / values / color.xml)

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="red">#900</color>
</resources>

答案 1 :(得分:0)

使用<style name="InputField" parent="@android:style/Widget.EditText">

而不是

<style name="InputField">

或做类似这样的事情如果你想以程序方式进行,并且想要改变编程方法

edittext.setOnFocusChangeListener(new OnFocusChangeListener() {

        @Override
        public void onFocusChange(View v, boolean hasFocus) {
            if (hasFocus) {
               //CHANGE COLORS ACCORDINGLY

                v.setBackgroundColor(Color.WHITE);
                ((EditText) v).setTextColor(Color.RED);
            } else {
               //CHANGE COLORS ACCORDINGLY
                v.setBackgroundColor(Color.WHITE);
                ((EditText) v).setTextColor(Color.RED);
            }

        }
    });

否则你可以按照以下方式做到

color.xml (res/values/color.xml)中的

有如下资源

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="text_color">#FF0000</color>
</resources>

并在您的布局中以android:textColor="@color/text_color"的身份访问EditText