Эмуляция касаний

Ответить
Soft-Man
Сообщения: 5
Зарегистрирован: 26 май 2014, 21:33

Эмуляция касаний

Сообщение Soft-Man » 27 май 2014, 11:47

Добрый день. Извиняюсь за глупый вопрос... Возможно ли реализовать, что бы при нажатии кнопки, например Dpadleft, обрабатывать так как будто провел пальцем по экрану справа налево?

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Эмуляция касаний

Сообщение Foenix » 27 май 2014, 11:57

а что произойдет, когда проведешь по экрану?
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Soft-Man
Сообщения: 5
Зарегистрирован: 26 май 2014, 21:33

Re: Эмуляция касаний

Сообщение Soft-Man » 27 май 2014, 12:53

В Talkback этот жест переводит курсор на предыдущий элемент. Нужно эмулировать эти жесты нажимая кнопки.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Эмуляция касаний

Сообщение Foenix » 27 май 2014, 13:07

извини, я не знаю что такое Talkback

спрашиваю потому, что не всегда нужно эмулировать это. Есть более правильные решения.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Soft-Man
Сообщения: 5
Зарегистрирован: 26 май 2014, 21:33

Re: Эмуляция касаний

Сообщение Soft-Man » 27 май 2014, 14:55

https://play.google.com/store/apps/deta ... 3Dtalkback
конечно более правильно было бы хорошо порыться в сырцах самого Talkback, и кроме жеста прикрутить и кнопку, но пока не разобрался... И тут пришла мысль, а почему бы не с эмулировать эти жесты? Но погуглив не нашел нужной информации по эмуляции... Конечно может плохо искал... Решил спросить может кто сталкивался, или ссылочной поделиться на инфу хоть какую нибудь. Ведь есть программа siaxis controller там есть опция эмуляции касания, я так понимаю можно и жест сэмулировать значит

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Эмуляция касаний

Сообщение Foenix » 27 май 2014, 21:29

у вас постановка задачи хромает. Я не понимаю причем тут ваша кнопка и эмуляция касания - это что ваша программа??
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Soft-Man
Сообщения: 5
Зарегистрирован: 26 май 2014, 21:33

Re: Эмуляция касаний

Сообщение Soft-Man » 27 май 2014, 23:59

Программа не моя. Цель: есть аппаратная кнопка "стрелочка влево" нужно при нажатии на нее сэмулировать жест "провести пальцем справа налево".
Попробовал сделать используя инфу отсюда http://blog.softteco.com/2011/02/touch- ... e.html?m=1
Сначала сервис при нажатии кнопки останавливался ругаясь на права, с ними вроде разобрался. Но результата не добился.
P. S. Еще раз извиняюсь за глупые вопросы, знаний мало и ковыряюсь когда есть время и желание. : (

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

Re: Эмуляция касаний

Сообщение rezak90 » 28 май 2014, 00:53

Soft-Man писал(а):Попробовал сделать используя инфу отсюда http://blog.softteco.com/2011/02/touch- ... e.html?m=1
Это юнит тесты которые вам вообще не нужны. Копайте в сторону gesture.
R.id.team
Политика на форуме запрещена

Soft-Man
Сообщения: 5
Зарегистрирован: 26 май 2014, 21:33

Re: Эмуляция касаний

Сообщение Soft-Man » 28 май 2014, 13:05

что-то начало получаться:
Добавляю:

Код: Выделить всё

	Instrumentation inst = new Instrumentation();
	public void testHoldSwipe() {
		long downTime = SystemClock.uptimeMillis();
		long eventTime = SystemClock.uptimeMillis(); 
		float xStart = 15;
		float yStart = 50;
		float x0 = 220;
		float y0 = 50;

		
		inst.sendPointerSync(MotionEvent.obtain(downTime, eventTime, MotionEvent.ACTION_DOWN, xStart, yStart, 0));
		
		inst.sendPointerSync(MotionEvent.obtain(downTime, eventTime, MotionEvent.ACTION_MOVE, x0, y0, 0));
		
		inst.sendPointerSync(MotionEvent.obtain(downTime, eventTime + 300, MotionEvent.ACTION_UP, x0, y0, 0));
	}
	
Вызываю:

Код: Выделить всё

			case KeyEvent.KEYCODE_DPAD_UP:
				new Thread(new Runnable() {
					public void run() {
						testHoldSwipe();
						}
					}).start();
				break;
Линию проводит, но TalkBack не реагирует... :(

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

Re: Эмуляция касаний

Сообщение rezak90 » 28 май 2014, 13:45

еще раз повторяю, вам нужно сделать свайп в юнит тестах?
R.id.team
Политика на форуме запрещена

Ответить