2016-04-13 1 views
0

la demande réelle est la suivante: J'ai un GridLayout en plein écran dont la moitié visible. Pour voir la deuxième partie, nous devons faire défiler.Android - Comment obtenir les coordonnées x et y d'une vue dans un gridLayout?

J'ai essayé certains moyens et cherché des réponses mais aucun de ceux que j'ai trouvé m'a donné ce dont j'avais besoin. Dans ma grille il y a des cellules carrées et chacune contient une vue, et j'ai besoin d'obtenir le x et le y de ces vues.

Le problème est que je pouvais obtenir les coordonnées des points de vue qui ont été mis dans les cellules visibles, les vues qui ne sont pas affichés ont hache et jeu ay à 0 ... Alors qu'ils ont été établis ..

ici C'est, espérons que certains d'entre vous pourraient aider! :)

private void createGrid(){ 
    //I call the function several times 
    int gridsLength = 19*48*grids; 

    for(int i = 0; i < 19; i++) { 
     for (int j = 0; j < 48; j++) { 
      GridLayout.LayoutParams layoutParams = new GridLayout.LayoutParams(); 
      layoutParams.width = 40; 
      layoutParams.height = 40; 
      View view = new View(this); 
      view.setLayoutParams(layoutParams); 
      Util.setDrawableBackground(view, R.drawable.border_black, this); 
      view.setOnTouchListener(newViewListener()); 
      gridViews.add(view); 
      //glMain is my gridLayout that i put into global variable 
      glMain.addView(view, i + j + gridsLength); 
     } 
    } 

    grids++; 
} 

Répondre

0

EDIT: Je finalement découvert que je n'accède pas à toujours les vues après la grille ont été établis alors j'ai changé cela et ça fonctionne ... cernées que j'étais un fou ^^