Как указать цвет фона в ресурсах списка состояний цвета?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как указать цвет фона в ресурсах списка состояний цвета?

Сообщение Anonymous »

Чтобы дать пользователю моего приложения указание, какое поле в данный момент находится в фокусе, я пытаюсь изменить цвет фона некоторых моих полей в зависимости от текущего состояния, однако у меня возникают проблемы с пониманием ресурсов списка состояний цветов Android:

Я нашел пример (извините, URL-адрес больше не работает), и если я попробую точно то же самое, т. е. если я хочу адаптировать textColor , все действительно работает. Однако, если я попробую сделать немного другое действие, а именно адаптировать цвет фона, все не получится, и я не понимаю, почему ? Почему это так непоследовательно???

Чтобы было проще понять, что я пытаюсь сделать, я добавляю свое разное. Файлы .xml:

Файл AndroidManifest.xml:
Тестовая активность:

Код: Выделить всё

package mmo.android.test;

import android.app.Activity;
import android.os.Bundle;

public class Test extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
Res/values/strings.xml:

Код: Выделить всё


Hello World, Test!
Test

Код: Выделить всё

res/color/button_test_color.xml
:
и, наконец, мой файл res/layout/main.xml:
Если я запущу это, как показано здесь, это сработает, т. е. я получу кнопку, цвет текста которой меняется в зависимости от того, находится ли кнопка в фокусе, нажата и т. д.

Если я раскомментирую нижнюю кнопку, где я только что поменял местами значения атрибутов textColor и фона, я получу исключение, сообщающее

Код: Выделить всё

...  tag requires a 'drawable' attribute or child tag defining a drawable
Что, черт возьми, мне здесь не хватает? Почему этот список состояний цвета приемлем как цвет текста, но не как цвет фона? Как указать цвет фона представления в зависимости от состояния представления?

Подробнее здесь: https://stackoverflow.com/questions/395 ... -resources
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»