2017-09-02 5 views
1

Je suis le tutoriel ci-dessous pour ajouter des confettis.Positionnement des confettis

final KonfettiView konfettiView = (KonfettiView)findViewById(viewKonfetti); 
      konfettiView.build() 
        .addColors(Color.RED, Color.GREEN)     
        .setSpeed(1f, 5f) 
        .setFadeOutEnabled(true) 
        .setTimeToLive(2000L) 
        .addShapes(Shape.RECT, Shape.CIRCLE)    
        .setPosition(0f, -359f, -359f, 0f) 
        .stream(200, 5000L); 

Je veux apparaître les confettis à de coin en haut à droite au lieu de haut à gauche. Quelles valeurs dois-je mettre dans la méthode ? Comment fonctionne cette méthode?

Je suis ce https://github.com/DanielMartinus/Konfetti mais il n'y a pas beaucoup d'informations sur les méthodes et leurs paramètres.

+0

Ok, donc si vous regardez dans le fichier 'confetti.kt'; y a-t-il des informations de localisation et d'édition qui, à votre convenance, pourraient vous aider? – Mandy8055

Répondre

2

Voici le code sur l'édition qui vous donne avec la sortie désirée:

fun setPosition(x: Float, y: Float): ParticleSystem { 
    location.setX(x) 
    location.setY(y) 
    return this 
} 

/** 
* Set position range to emit particles from 
* A random position on the x-axis between [minX] and [maxX] and y-axis between [minY] and [maxY] 
* will be picked for each confetti. 
* @param [maxX] leave this null to only emit from [minX] 
* @param [maxY] leave this null to only emit from [minY] 
*/ 
fun setPosition(minX: Float, maxX: Float? = null, minY: Float, maxY: Float? = null): ParticleSystem { 
    location.betweenX(maxX, maxX) 
    location.betweenY(minY, maxY) 
    return this 
} 

Référez-this answer à assembler/ajuster l'orientation et les coordonnées en conséquence.

Aussi; si vous voulez mettre seulement les coordonnées; il y a une classe MotionEvent qui a getX() et getY() méthodes qui renvoient les coordonnées relatives à la vue, comme vous l'avez découvert.

Espérons que ça aide ....