Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Spelcrawler
525 / 495 / 111
Регистрация: 12.03.2014
Сообщений: 1,647
Завершенные тесты: 1
#1

Рисовать поверх всего - Android

28.01.2015, 13:35. Просмотров 955. Ответов 8
Метки нет (Все метки)

Есть ли возможность рисовать поверх всего экрана не вешая канвас на какую либо вьюшку? То есть есть кастомная кнопка, неизвестно где она будет использоваться, и нужно при нажатии на эту кнопку отрисовать под ней, скажем текст, не двигая остальные элементы.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.01.2015, 13:35     Рисовать поверх всего
Посмотрите здесь:

Android Как рисовать сплошные линии независимости от скорости кисти
Как рисовать на кнопках Android
Можно ли рисовать лупу не во всех фрагментах? Android
Кнопка поверх всего Android
Android Как рисовать текст на Canvas во View?
Сложно ли рисовать графику на Джава для Андроида? Android
Android В какой программе рисовать мелкие графические элементы для программного интерфейса
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gabberr
102 / 102 / 17
Регистрация: 13.10.2009
Сообщений: 402
28.01.2015, 14:23     Рисовать поверх всего #2
Думаю единственный вариант создать кастомную кнопку, которая сама будет рисовать что-то внизу себя
Spelcrawler
525 / 495 / 111
Регистрация: 12.03.2014
Сообщений: 1,647
Завершенные тесты: 1
28.01.2015, 14:25  [ТС]     Рисовать поверх всего #3
Это понятно. Подумал - сделал при нажатии добавление кастомной вьюшки на всю активити, переодпределил onDraw - теперь нужно как-то найти координаты кнопки относительно всей активити.
Gabberr
102 / 102 / 17
Регистрация: 13.10.2009
Сообщений: 402
28.01.2015, 14:51     Рисовать поверх всего #4
Зачем так сложно, легче в самой кнопке в методе onDraw, в зависимости от состояния рисовать что-то снизу, тогда координаты даже не надо знать.
Spelcrawler
525 / 495 / 111
Регистрация: 12.03.2014
Сообщений: 1,647
Завершенные тесты: 1
28.01.2015, 15:34  [ТС]     Рисовать поверх всего #5
Цитата Сообщение от Gabberr Посмотреть сообщение
Зачем так сложно
А иначе никак поверх других элементов не нарисуешь.
Gabberr
102 / 102 / 17
Регистрация: 13.10.2009
Сообщений: 402
28.01.2015, 15:37     Рисовать поверх всего #6
То-есть поверх этой кнопки ещё что-то лежит?
Spelcrawler
525 / 495 / 111
Регистрация: 12.03.2014
Сообщений: 1,647
Завершенные тесты: 1
28.01.2015, 15:40  [ТС]     Рисовать поверх всего #7
Не поверх ее. Просто на экране может быть куча элементов, и под этой кнопкой(в 2х мерном смысле) лежат еще элементы, если рисовать что-то в onDraw кнопки под этой кнопкой - это либо вообще не будет отрисовано, либо кнопка увеличит свою высоту на высоту дополнительного элемента, что в свою очередь сдвинет вниз элементы которые лежат ниже кнопки.
Gabberr
102 / 102 / 17
Регистрация: 13.10.2009
Сообщений: 402
28.01.2015, 15:45     Рисовать поверх всего #8
Ну это понятно, я имел ввиду определить нужную высоту кнопки, и если рисовать не надо, то там будет пустое место, если надо, то рисовать на пустом месте. А если высота wrap_content, то сдвиг конечно произойдет)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.01.2015, 13:46     Рисовать поверх всего
Еще ссылки по теме:

Canvas поверх GridLayout Android
Android EditText поверх ImageView
Android Как рисовать графики на Android?
Android Одновременно и рисовать и отслеживать координаты нажатия
Фрагмент поверх другого Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Spelcrawler
525 / 495 / 111
Регистрация: 12.03.2014
Сообщений: 1,647
Завершенные тесты: 1
29.01.2015, 13:46  [ТС]     Рисовать поверх всего #9
Цитата Сообщение от Gabberr Посмотреть сообщение
Ну это понятно, я имел ввиду определить нужную высоту кнопки
В том и дело, что так не пойдет.

Добавлено через 21 час 59 минут
В общем сделал, может кому пригодится. Для начала написал кастомную View (наследовал напрямую от View). Далее т.к. посылать сервис как контекст для View бессмысленно предположил, что контекст всегда Activity. А дальше уже просто - при нажатии на кнопку рисую поверх всей активити свою кастомную View, переопределяю у нее onDraw - при создании эта View получает кнопку которая ее вызывает, у кнопки получаем координаты и рисуем прямоугольник ровно под кнопкой. Вот и все, работает шустро, вместо прямоугольника можно нарисовать все что угодно.
Yandex
Объявления
29.01.2015, 13:46     Рисовать поверх всего
Ответ Создать тему
Опции темы

Текущее время: 15:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru