2013-06-12 3 views
0

Dans mon application, je montre la progression SeekBar en TextView et la coordonnée X du TextView doit se déplacer lorsque l'utilisateur touche quelque part sur le SeekBar. Pour que je OnTouchListener attaché à cette SeekBar et la logique de modifier les coordonnées du TextView lors de l'exécution est la suivante:Déplacer TextView selon les coordonnées tactiles en android

@Override 
public boolean onTouch(View v, MotionEvent event) { 
    RelativeLayout.LayoutParams lParams = (LayoutParams) _currentValue.getLayoutParams(); 
    lParams.setMargins((int) v.getX(), 0, 0, 0); 
    _currentValue.setLayoutParams(lParams); 
    return false; 
} 

Mais le TextView reste à cette position et ne se déplace pas. J'ai même essayé avec ceux-ci dans onTouch() méthode:

_currentValue.setPadding((int)v.getX(), 0, 0, 0); 
    _currentValue.setX((int)v.getX()); 
    _currentValue.setTranslationX((int)v.getX()); 

Mais encore Coordonnée X TextView ne correspond pas à celle de coordonnées toucher.

Y at-il un moyen de le faire?

+0

ne pas retourner false, retourner Vrai si vous voulez contrôler les touches. – bogdan

+0

Eh bien, pas vraiment. Si je reviens vrai, le pouce de la barre de recherche ne glissera pas seulement. Comme l'événement tactile a été géré. De toute façon, j'ai eu la réponse. – Rajkiran

+0

Voici un exemple http://thegeekyland.blogspot.com/2015/12/android-animations-explained.html – Arlind

Répondre

0

J'ai eu la réponse. Tout ce que je devais faire était

_currentValue.setPadding((int)event.getX(), 0, 0, 0); 

AND NOT 

_currentValue.setPadding((int)v.getX(), 0, 0, 0); 

Comme v.getX() ne changera pas comme « v » est un SeekBar. Et je déplace son pouce, pas le SeekBar lui-même. Erreur stupide.

Questions connexes