Android: выполнять действия с ShapeDrawable в ImageView? - PullRequest
1 голос
/ 12 марта 2011

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

ShapeDrawable shape;

public void makeShape(){

    shape = new ShapeDrawable(new RectShape());
    shape.setIntrinsicHeight(Integer.parseInt(ET_Height.getText().toString()));
    shape.setIntrinsicWidth(Integer.parseInt(ET_Width.getText().toString()));
    shape.getPaint().setColor(chooseColor());
    iView.setImageDrawable(shape);
}

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

public void onClick(View v){

    iView.getDrawable().getPaint().setColor(chooseColor());
}

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

Итак, каков наилучший способ получить доступ к рисованию, чтобы изменить его цвет, альфа, вращение и т. Д. Вметод onClick?

Спасибо!

Ответы [ 2 ]

1 голос
/ 12 марта 2011

Попробуйте изменить iView.setImageDrawable (shape) после изменения параметров shape .

0 голосов
/ 05 августа 2012

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

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