Изменение цвета текста в окне редактирования Android в соответствии с фокусом - PullRequest
3 голосов
/ 06 июня 2011

Я использую приведенный ниже XML-файл, чтобы изменить цвет поля ввода. Но я хотел бы знать, как изменить цвет текста в поле ввода в соответствии с фокусом. Если окно редактирования сфокусировано, мне нравится менять цвет текста на черный, а когда оно не сфокусировано, мне нравится менять цвет на белый.

Как мне реализовать это в XML-файле? Любая помощь будет очень полезна для меня в изучении ресурсов для рисования Android.

 <?xml version="1.0" encoding="UTF-8"?>
 <selector
     xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true">
    <shape>
        <gradient
            android:endColor="#FFFFFF"
            android:startColor="#FFFFFF"
            android:angle="90" />
        <stroke
            android:width="3dp"
            android:color="#0f0f0f" />
        <corners
            android:radius="10dp" />
    </shape>
</item>

<item android:state_focused="false">        
    <shape>
        <gradient
            android:endColor="#000000"
            android:startColor="#000000"
            android:angle="90" />
        <stroke
            android:width="3dp"
            android:color="#151515" />
        <corners
            android:radius="10dp" />
    </shape>
</item>

Ответы [ 2 ]

2 голосов
/ 06 июня 2011

вы должны использовать ColorStateList вместо списка состояний.

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="#ffff0000" /> <!-- pressed -->
<item android:state_focused="true" android:color="#ff0000ff" /> <!-- focused -->
<item android:color="#ff000000" /> <!-- default -->

, а затем просто назначить этот список состояний свойству textColor.

0 голосов
/ 06 июня 2011

Я думаю, вы ищете Список состояний .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...