для изменения активности вы можете сделать это одним способом (обратите внимание, анимация не реализована в этом), внедрив метод активности onTouch (), теперь отслеживая событие down, получайте текущее местоположение касания и при перемещении устанавливайте флаг для события move, если вынажмите и переместите, а затем только изменить.Теперь в событии up получите текущее местоположение касания и сравните его.
Если местоположение события up было меньше, чем местоположение события down, тогда начните действие A, если местоположение события up было больше, чем местоположение события down, тогда запустите действиеC