comment utiliser correctement le faisant glisser d'un point de vue sur android
il semble que il ya beaucoup de solutions de la façon d'utiliser le déplacement de point de vue sur android .
cependant, ils sont soit trop lent, ou buggy.
une solution connue consiste à avoir un framelayout , et le point de vue change simplement de layoutParams comme il se déplace à l'aide de la OnTouchListener ,comme décrit ici:
http://www.anddev.org/novice-tutorials-f8/android-drag-and-drop-of-normal-views-not-bitmaps-t13404.html
toutefois, si la vue est une imageView , lorsque l'on atteint le plus à droite (ou le plus bas) de la framelayout , l'image se rétrécit .
une autre solution possible est d'utiliser la toile, afin de montrer la traîné de contenu , comme décrit ici:
http://www.anddev.org/basic_drag_and_drop-t3095.html
cependant, je ne suis pas sûr de la façon de l'utiliser pour des vues complexes.
personne ne sait d'une bonne solution que de laisser la taille de l'traîné vue reste la même , peu importe où il est dans son contenant?
s'il vous plaît aider moi .
OriginalL'auteur android developer | 2011-10-25
Vous devez vous connecter pour publier un commentaire.
Voici une solution complète pour un simple imageView glisser:
pour modifier la mise en page paramètres, vous faites ce que je n' - obtenir l'actuel, de modifier leurs valeurs, et ensuite utiliser setLayoutParams de nouveau. De toute façon, pour l'animation sur le layoutParams, vous pouvez utiliser cette astuce que j'ai fait: stackoverflow.com/questions/19519921/...
OriginalL'auteur android developer
Je suis en utilisant le glisser-déposer dans un projet en cours, où les différents
View
s sont placés à l'intérieur d'unRelativeLayout
selonLayoutParams
appliquée. Comme vous, j'ai trouvé que l'avis des "redimensionner" quand la droite ou en bas de laViewGroup
conteneur. Il est probablement tout à fait évident que ce sera le cas, vraiment, considérant qu'au cours de la mesure et de la mise en page phases, le système va déterminer qu'unView
est un coup à avoir beaucoup de plus petites dimensions que l'on souhaite si ça va continuer à être en mesure de s'insérer dans le parent lorsqu'il est placé près les extrêmes.Une solution très simple que j'ai réalisé pour obtenir autour de qui pour le moment est tout simplement oversize mon
ViewGroup
par rapport à la taille de l'écran.En outre, vous pouvez décider que vous n'avez pas vraiment envie
View
s apparaissent partiellement hors de l'écran, dans ce cas, vous devriez utiliser un programme logique pour empêcher laView
objets marges être réglée de telle sorte que laView
s sont autorisés à quitter le conteneur parent de la frontière.Une autre solution pourrait être de remplacer
onMeasure()
ou similaire à forcer l'enfantView
pour forcer une taille plus grande que le parent le juge est disponible, si c'est possible -- pour forcer l'Affichage d'y être placés dans la taille désirée, en superposant les bords. C'est juste une idée sur le dessus de ma tête bien et n'ont pas étudié.comment faites-la glisser verticalement sens pas toute la zone
OriginalL'auteur Trevor