2013-05-23 3 views
4

J'ai un ScrollView dans mon application, ce ScrollView contient le nombre d'images, nous devons faire défiler vers le bas pour voir chaque image parce que la zone de scrollview est plus que la taille de l'écran.Comment vérifier si une vue est visible dans une zone spécifique ou pas à l'intérieur ScrollView

Maintenant, la question est de savoir comment puis-je vérifier que chaque image de ScrollView est dans une zone spécifique (définie par moi) ou non.

Si l'image est à l'intérieur de cette zone, je veux faire quelque chose et si ce n'est pas alors je veux faire quelque chose de différent.

S'il vous plaît aidez-moi à sortir du problème, toute aide serait appréciable.

Merci.

+0

vous pouvez utiliser image.getVisiblity(). – NaserShaikh

+0

il va juste vérifier la visibilité de la vue, mais je veux vérifier la visibilité de la vue dans une zone spécifique –

+0

je ne reçois pas .. donc vous voulez vérifier la visibilité de l'image dans le scrollView? – NaserShaikh

Répondre

0

oui chaque imageinside la ScrollView est définie par you.so, vous modifiez les modifications à l'intérieur de défilement yhe view.if vous avez besoin spécifique, envoyer votre code

2

Voir ci-dessous le code, cochez cette fonctionne

public static boolean isInVisible(ScrollView scrollView, View view, Rect region, boolean relative) 
{ 
    int top = scrollView.getScrollY() + region.top; 
    int bottom = scrollView.getScrollY() + region.bottom; 

    if(!relative) 
    { 
     // If given region is not relative to scrollView 
     // i.e 0,0 does not point to first child left and top 
     top -= scrollView.getTop(); 
     bottom -= scrollView.getTop(); 
    } 

    Rect rect = new Rect(region); 
    rect.top = top; 
    rect.bottom = bottom; 
    Rect childRegion = new Rect(view.getLeft(), view.getTop(), view.getRight(), view.getBottom()); 

    return Rect.intersects(childRegion, region); 
} 
+0

Super, mais que dois-je mettre pour (Rect région), je ne suis pas familier avec cette – Mdlc

Questions connexes