трудности листания экранов

Ответить
Аватара пользователя
ptaxsa
Сообщения: 10
Зарегистрирован: 30 ноя 2014, 22:24

трудности листания экранов

Сообщение ptaxsa » 03 ноя 2015, 14:57

Уважаемые!

я программист-любитель )) Вот уже пару месяцев не могу качественно решить задачу оптимизации своего приложения. Может кто сталкивался? Подскажите что нибудь...

Приложение имеет несколько активити. Процесс перехода между активити реализован при помощи слайдинга (смахиванием вобщем), а именно благодаря flipper и onTouch. В то же время каждое активити имеет ряд пользовательских кнопок, занимающих порой треть экрана. Как меню любого смартфона, только иконки(они же кнопки) большие.
Так в чем, собственно, у меня трудность? Во время попытки смахнуть текущее активити в зоне действия кнопки, происходит распознавание нажатия кнопки - неудобный момент. Пытался реализовать задержки - кнопка не срабатывает, но листание не всегда работает.
Выяснилось что onTouch не реагирует в зоне действия кнопки, только вне кнопки.

Вот реализация onTouch:

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

 @Override
	public boolean onTouch(View v, MotionEvent event) {
		 switch (event.getAction())
	        {
	        case MotionEvent.ACTION_DOWN:
	            fromPosition = event.getX();
	            break;
	        case MotionEvent.ACTION_UP:
	            float toPosition = event.getX();
	            if (fromPosition > toPosition)
	            {
	                flipper.setInAnimation(AnimationUtils.loadAnimation(this,R.anim.go_next_in));
	                flipper.setOutAnimation(AnimationUtils.loadAnimation(this,R.anim.go_next_out));
	                flipper.showNext();
	//                Log.d(LOG_TAG, "OKNO = "+ flipper.getDisplayedChild()); // esli otobrazheno okno 2
	//                if (flipper.getDisplayedChild() == 2) { some actions }
	            }
	            else if (fromPosition < toPosition)
	            {
	                flipper.setInAnimation(AnimationUtils.loadAnimation(this,R.anim.go_prev_in));
	                flipper.setOutAnimation(AnimationUtils.loadAnimation(this,R.anim.go_prev_out));
	                flipper.showPrevious();
	            }
	        default:
	            break;
	            
	          
	        }
	        return true;
	        
	} 
Как же тогда реализован слайдинг меню любого смартфона, когда при листании между экранами, приложения не запускаются в зоне листания?

Подскажите направление.

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: трудности листания экранов

Сообщение doter.ua » 03 ноя 2015, 19:16

Юзай готовые реализации, тот же ViewPager
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

Ответить