Android и цвета - PullRequest
       2

Android и цвета

0 голосов
/ 20 марта 2012

У меня проблема с изменением цвета в андроиде. У меня есть список, куда я добавляю элементы, используя:

colorsPictures.add(Color.BLUE);
colorsPictures.add(Color.YELLOW);
colorsPictures.add(Color.BLACK);

В onCreate () я реализую что-то вроде этого:

pictureOne.setImageResource(colorsPictures.get(0)));
pictureTwo.setImageResource(colorsPictures.get(1));

картинкаОдно и картинкаДва:

    pictureOne = (ImageView) findViewById(R.id.imageViewPicture1);
    pictureTwo = (ImageView) findViewById(R.id.imageViewPicture2);

Я хочу, чтобы оба моих изображения изменили свой цвет на синий и желтый, когда я начинаю деятельность. Я думаю, что у меня есть ошибка при добавлении в мой список. Я знаю, что могу изменить цвет в макете, но я должен сделать это, таким образом. Помогите мне, пожалуйста.

Например: У меня есть два изображения в макете. У них белые цвета. Я хочу изменить их цвета, когда я запускаю активность и нажимаю кнопку. Слушатель OnClick реализован, но я получаю nullpointexception при попытке изменить цвета.

Ответы [ 5 ]

2 голосов
/ 20 марта 2012

Если ваша единственная цель - изменить цвет фона, почему бы вам не сделать это,

pictureone.setBackgroundResource(colorsPicture.get(0));
1 голос
/ 20 марта 2012

Проблема в том, что вы используете setImageResource(int resId), а аргумент метода - это доступный для рисования ресурс, а не цвет.Если вы посмотрите свои журналы, вы, вероятно, увидите предупреждение или исключение о том, что ресурс не найден.

Вы можете использовать это вместо:

pictureOne.setBackgroundColor(colorsPictures.get(0)));
pictureTwo.setBackgroundColor(colorsPictures.get(1));
1 голос
/ 20 марта 2012

Параметр setImageResource является идентификатором ресурса. Вы кладете цвет в это. Использование:

pictureOne.setBackgroundColor(colorsPictures.get(0)));

Или определите цвета yoyr в colors.xml и используйте:

pictureTwo.setImageResource (R.color.YOUR_COLOR_ID);

0 голосов
/ 20 марта 2012

setImageResource используется для установки любого изображения, которое доступно в папке drawable , как показано ниже

imageView.setImageResource(R.drawable.myimage);

Этот метод используется для установки цвета с прямым значением,Это даст неизвестный результат, потому что во время выполнения значение цвета будет рассматриваться как идентификатор ресурса.

0 голосов
/ 20 марта 2012

Вы установили динамически, тогда у вас есть что-то вроде ... попробуйте вот так ...

setTextColor(getContext().getResources().getColor(R.color.info_button_text_color));

надеюсь, это поможет вам.

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