Google Android - это несложно

Добро пожаловать на форум сайта startandroid.ru
Текущее время: 19 июл 2018, 20:36

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
СообщениеДобавлено: 25 мар 2015, 18:58 
Аватар пользователя

Зарегистрирован: 23 ноя 2013, 16:08
Сообщений: 1107
Откуда: Ukraine
Благодарил (а): 31 раз.
Поблагодарили: 175 раз.
Дано Android studio + код:
Код: [ Загрузить ] [ Скрыть ]
  1. void onDraw(Canvas canvas){  
  2.    canvas.drawColor( Color.GREEN );    
  3. }  

Кто немного знаком с канвой, поймет что за метод приведен выше.
Допустим захотелось нам поменять цвет. Придется заново компилить\запускать проект? - не обязательно.

Можно добавить "бесполезную строку" типа принт хелло ворлд и поставить на нее брейкпоинт.
Код: [ Загрузить ] [ Скрыть ]
  1. void onDraw(Canvas canvas){  
  2.    canvas.drawColor( Color.GREEN );    
  3.    System.out.println("sds"); // Тут брейкпоинт 
  4. }  

Теперь нужно заставить сработать onDraw: можно у элемента вызвать .invalidate() и онДров вызовется сам.
Приложение нарисует все что накодили в методе и остановится на брейкпоинте. На этом этапе вызываем ALT + F8 он же "Expression Evalution", затем переключаемся в режим Code Fragment Evalution (много строк) и используем там канвас. Например:
Изображение
Код со скрина для копипасты:
Код: [ Загрузить ] [ Скрыть ]
  1. Paint myPaint = new Paint(Paint.ANTI_ALIAS_FLAG); 
  2. myPaint.setColor(Color.RED); 
  3.  
  4. canvas.drawLine( 0, 0, 100, 100, myPaint ); 

Нажимаем Evalute и на зеленый треугольник (F9) приложение возобновит работу (которая останавливалась брейкпоинтом)
Не смотря на то, что в онДров нету рисования красной линии, код который запускали в окошке все равно повлияет на "картинку" и вьюшка будет с линией)
Захотели нарисовать чтонить другое? дернули онДров. Например рядом кнопка которая вызывает invalidate() и снова в брейкпоинте вызываем "магическое" окошко.

_________________
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB