Тащим нарисованный квадрат по экрану

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Тащим нарисованный квадрат по экрану

Сообщение rezak90 » 26 ноя 2012, 18:22

tolik777 писал(а):Такой вопрос по примеру. Хочу сделать так, чтобы квадрат появлялся в центре экрана при запуске. Но метод getWidth() возвращает ноль.
вьюшка ещё не прорисовалась и по этому ноль, берите размер экрана
R.id.team
Политика на форуме запрещена

dmitryI
Сообщения: 3
Зарегистрирован: 02 мар 2015, 05:37

Re: Тащим нарисованный квадрат по экрану

Сообщение dmitryI » 02 мар 2015, 05:47

Для того, чтобы в этом примере объект сам двигался (в случае, когда его не перетаскивают) - куда прописывать изменение координат?
onDraw и onTouchEvent, при отсутсвии касания экрана, естественно, не выполняются

dmitryI
Сообщения: 3
Зарегистрирован: 02 мар 2015, 05:37

Re: Тащим нарисованный квадрат по экрану

Сообщение dmitryI » 07 мар 2015, 06:29

Ответ на мой предыдущий вопрос - просто создайте поток с постоянным инвалидейтом. т.е. вставьте в класс следующую строку:
Runnable r = new Runnable{ public void Run() {nvalidate()} };
Не бойтесь потоков, они сделаны неожиданно (для явы)) просто и логично!
После этого, в onDraw прописываем логику движения (т.е. изменение координат до достижения границ экрана).

Для того, чтобы в паузах между началом и концом нажатия не выполнялся инвалидейт (т.е. объект не дергался) - я лично использовал if с булевой переменной-флагом

PS На форум все забили, комент скорее для читателей статьи

shirakz
Сообщения: 9
Зарегистрирован: 23 сен 2015, 20:33

Re: Тащим нарисованный квадрат по экрану

Сообщение shirakz » 02 мар 2016, 13:00

Спасибо от читателей! На один написанный пост 100 человек читающих :)

Ответить