Ti seguo sempre meno. L'evento onTouch è indipendente dalla barra e è scaturito quando il dito tocca la scermo, non viene scaturito in alcune situazioni, motivo = ignoto. Questo è il problema.
Tu mi dici che continuo a sotrarre nel valore di posizione... uhm.. .. quindi la barra sale... uhm.. sinceramente non riesco a capire il senso di questa affermazione (probabilemente sono io scemo):
Visto che il problema è abbastanza di fondo, cerco di spiegarti come credo funzioni la cosa:
1) Tocco lo scermo a un altezza di y
2) Android capisce e lancia il metodo onTouchEvent
3) Se sto cliccando la barra:
-Se la barra è a metà scermo -> Setta la barra con Top = Y - offset - (grandezza_barra / 2)
-Se la barra rischia la compressione -> Setta la barra con Top = grandezza layout - grandezza barra
-Se la barra rischia di scoparire -> Setta la barra con Top = 0
Se uno clicca in y = 200 la barra va a 200 (ipotizzando chiaramente di non essere nel caso di copressione o di scomparsa)
Se dopo uno clicca a y = 100 va a 100 (ipotizzando chiaramente di non essere nel caso di copressione o di scomparsa)
Se poi continuo con y = 150 va a 150 (ipotizzando chiaramente di non essere nel caso di copressione o di scomparsa)
La barra va su e giu senza problemi
Leggendo poi parti della tua risposta come "PS: L'else finale serve solo per dire: "se la barra è a metà strada e non la tocco continua il movimento, se inverto il movimento del dito inverte anche il movimento(o anche no visto il comportamento della status bar ogni tanto XD)""
Tu mi parli di movimento, ma il problema è che non esiste un "movimento" si parla solo di settare il Top della barra con il valore dato dal Touch.
PS. Gege i download sono qui
https://github.com/dedeswim/now-laun...owLauncher/apk