Страница 2 из 2

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

Добавлено: 26 ноя 2012, 18:22
rezak90
tolik777 писал(а):Такой вопрос по примеру. Хочу сделать так, чтобы квадрат появлялся в центре экрана при запуске. Но метод getWidth() возвращает ноль.
вьюшка ещё не прорисовалась и по этому ноль, берите размер экрана

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

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

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

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

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

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

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

Добавлено: 02 мар 2016, 13:00
shirakz
Спасибо от читателей! На один написанный пост 100 человек читающих :)