2010-04-25 1 views
6

Я хочу изменить оранжевую рамку вокруг EditText. Например, когда вход действителен, я хочу, чтобы он стал зеленым.Android: Можно ли динамически изменять цвет рамки EditText?

alt text http://developer.android.com/guide/tutorials/views/images/hello-relativelayout.png

Однако я, кажется, не найти способ сделать это. Является ли это возможным?

ответ

6

Невозможно легко изменить оранжевую границу, поскольку на самом деле это 9-патч, то есть вся граница + белый фон - это 9-патч, который по умолчанию использует Android. Он также использует атрибут android:background.

Возможно получить копию 9-патча (оно будет в вашем SDK), отредактировать цвет, чтобы сделать его зеленым, а затем в коде настроить его так, чтобы ваш 9-патч был установлен в качестве фона EditText, когда вход действителен.

+3

Кроме того, имейте в виду, что фон действительно является «StateListDrawable», из которых PNG с оранжевыми границами является одним из изображений для одного из состояний. – CommonsWare