393 / 338 / 83
Регистрация: 17.10.2014
Сообщений: 1,007
|
|
1 | |
Сделать так, что бы прикосновения фиксировались только в определенной зоне18.03.2015, 13:27. Показов 966. Ответов 18
Метки нет (Все метки)
Здравствуйте товарищи!
Есть layout на котором размещена кастомная вьюха(рисовалка) и несколько кнопок. На данный момент если попытаться нарисовать что то на ней когда рука касается(лежит на) дисплея естественно не получится. Возможно ли сделать так, что бы прикосновения экрана фиксировалось только в определенной зоне(собственно только на рисовалке, ну и кнопках), как на рисунке: Что бы фокус имели только рисовалка и кнопки, а так сказать background не имел, если можно так выразится. Может кто сталкивался и поделится соображениями по этому поводу. Заранее спасибо!
0
|
18.03.2015, 13:27 | |
Ответы с готовыми решениями:
18
Сделать так, что бы форма отвечала на нажатие мыши только в определенной области Как сделать так, чтобы обработка нажатия происходила только в одной определённой процедуре? Можно ли сделать так, чтобы программа начала выполнять что-либо заново с определённой строчки? Сделать так что бы в файл записывались только отличники |
535 / 504 / 114
Регистрация: 12.03.2014
Сообщений: 1,671
|
|
19.03.2015, 00:02 | 2 |
Ну дак вешайте листенеры на те вьюшки которые вам нужны, а на весь экран.
0
|
393 / 338 / 83
Регистрация: 17.10.2014
Сообщений: 1,007
|
|
19.03.2015, 09:05 [ТС] | 3 |
Spelcrawler, не то.
попробую обрисовать ситуацию наиболее просто: есть форма и кнопка на ней...если я положу на форму, ну скажем, палец, и после попробую нажать на кнопку - она не будет нажиматься до того момента пока я не уберу палец...так вот, возможно ли сделать так, что бы форма не брала не себя фокус, а кнопка брала
0
|
535 / 504 / 114
Регистрация: 12.03.2014
Сообщений: 1,671
|
|
19.03.2015, 09:27 | 4 |
Ну дак вешайте листенеры на те вьюшки которые вам нужны, а на весь экран.
Да ну это бред, нормально кнопка нажмется.
0
|
393 / 338 / 83
Регистрация: 17.10.2014
Сообщений: 1,007
|
|
19.03.2015, 09:34 [ТС] | 5 |
0
|
535 / 504 / 114
Регистрация: 12.03.2014
Сообщений: 1,671
|
|
19.03.2015, 09:53 | 7 |
У меня в приложении, которое сейчас пишу, есть графики на одном экране их 5 штук, и можно нажать сразу все 5 и отрабатывает все отлично.
0
|
393 / 338 / 83
Регистрация: 17.10.2014
Сообщений: 1,007
|
|
19.03.2015, 10:09 [ТС] | 8 |
Spelcrawler,
возможно для нашего взаимопонимания Вам стоит указать где пропущено "не на"
1
|
535 / 504 / 114
Регистрация: 12.03.2014
Сообщений: 1,671
|
|
19.03.2015, 10:24 | 9 |
1
|
393 / 338 / 83
Регистрация: 17.10.2014
Сообщений: 1,007
|
||||||
19.03.2015, 10:36 [ТС] | 10 | |||||
я по всей видимости чего то не понимаю, вот самопальная вьюха(смысловой нагрузки не несет - самая простая рисовалка):
Кликните здесь для просмотра всего текста
Допустим размещается она на лейауте и занимает половину экрана. Пользователь планшета может положить руку на область не занимаемую DrawingView и начать рисовать, но onTouchEvent в DrawingView не отрабатывает, так как фокус(или как он там называется) щас находится за пределами DrawingView.
0
|
535 / 504 / 114
Регистрация: 12.03.2014
Сообщений: 1,671
|
|
19.03.2015, 10:39 | 11 |
А если заменить onTouchEvent на onTouchListener?
0
|
393 / 338 / 83
Регистрация: 17.10.2014
Сообщений: 1,007
|
|
19.03.2015, 10:49 [ТС] | 13 |
Spelcrawler, в реализации вью нужен onTouchEvent, а если повесить на экземпляр DrawingView то что это даст.
Паблито, Вы имеете ввиду в реализации DrawingView возвращать false?
0
|
2883 / 2295 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
|
|
19.03.2015, 10:55 | 14 |
по идее
Не по теме: пойду почитаю как сделать мультитач на эмуляторе и попробую проверить
1
|
393 / 338 / 83
Регистрация: 17.10.2014
Сообщений: 1,007
|
|||||||||||
19.03.2015, 11:13 [ТС] | 15 | ||||||||||
вот именно это и необходимо
Добавлено через 11 минут вот код рабочей кастомной вьюхи если кому для эксперимента над: Кликните здесь для просмотра всего текста
в обычный helloworld вставляется просто в xml: Кликните здесь для просмотра всего текста
0
|
393 / 338 / 83
Регистрация: 17.10.2014
Сообщений: 1,007
|
|
30.03.2015, 12:59 [ТС] | 16 |
upp
0
|
535 / 504 / 114
Регистрация: 12.03.2014
Сообщений: 1,671
|
|
30.03.2015, 13:04 | 17 |
androbro, дак оно еще не заработало?)
Можно же в конструкторе повесить листенер обычным способом, не совсем хорошо конечно, но может будет работать как нужно?
0
|
393 / 338 / 83
Регистрация: 17.10.2014
Сообщений: 1,007
|
||||||
30.03.2015, 13:19 [ТС] | 18 | |||||
Spelcrawler,
сделал так:
0
|
393 / 338 / 83
Регистрация: 17.10.2014
Сообщений: 1,007
|
|
09.04.2015, 12:33 [ТС] | 19 |
Ну собственно говоря вернулся как то к этой теме на досуге, после одного наблюдения - "если нажать на кнопку и удерживать ее нажатой, то есть возможность в это время нажать и на другую кнопку", это и натолкнуло меня на этот велосипед - а почему бы не зафигачить батон на всю разметку а поверх него уже наложить рисовалку
собственно ставим у фонового батона альфа = 0 и желаемое поведение достигнуто))профит на двух колесиках))) теперь дело осталось за малым, так как люди в основном правши, а функциональные кнопки по умолчанию справа, то есть большая вероятность что юзер будет жимкать своей рукой нечаянно по ним...тут либо их надо вообще скрыть, либо перенести на левую сторону(да простят меня левши)
0
|
09.04.2015, 12:33 | |
09.04.2015, 12:33 | |
Помогаю со студенческими работами здесь
19
Сделать так, что бы работали только определенные флешки Как сделать так что бы работали только определенные флешки Как сделать так, что б в коде использовалось только две переменных? Как сделать так что бы мои шрифты отображались не только у меня? Как сделать так что бы код выполнялся только при нажатии (удерживании кнопки)? Сделать так что бы на событие mouseEnter реагировал только canvas, но не реагировали находящиеся в нем компонеты Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |