2014-09-13 1 views
1

J'ai gridview qui contient 2 colonnes. La largeur est définie pour remplir l'espace disponible. J'ai besoin que la hauteur soit définie sur une taille spécifique en fonction de la largeur, car dans chaque écran la largeur est différente, je ne peux pas définir la hauteur en xml comme constante. J'ai besoin de régler le ratio, donc la hauteur devrait être d'environ 1,5 * largeur.Comment définir la hauteur dans la grille Android programmatique en fonction de la largeur?

Merci

Répondre

2

Vous pouvez définir la hauteur, mais vous voulez obtenir d'abord Largeur.

Vous avez dit 2 colonnes de grille pour comprendre la moitié de téléphone de la largeur de votre téléphone

Display display = getWindowManager().getDefaultDisplay(); 
int imgWidth = display.getWidth()/2; 
int imgHeight = (int)(imgWidth * 1.5f); 

Vous obtenez la hauteur de that.Now vous pouvez définir votre Grille Largeur et Hauteur

LayoutParams lp = HERE_YOUR_VIEW.getLayoutParams(); 
lp.width = imgWidth; 
lp.height = imgHeight ; 
HERE_YOUR_VIEW.setLayoutParams(lp); 
+0

je devais changer pour DisplayMetrics afin qu'il puisse fonctionner dans l'adaptateur, mais cela fonctionne. Merci! –

+1

@kodw vous pouvez passer la largeur dans votre adaptateur, de sorte que vous pouvez définir facilement la largeur et la hauteur de votre grille. –

+0

avez-vous un exemple? J'ai essayé convertView.getWidth(), mais cela n'a pas fonctionné. –

Questions connexes