2011-08-13 3 views
1

J'essaie de limiter la largeur d'un LinearLayout à 400dp ou moins. En d'autres termes, si le moteur de mise en page détermine que le LinearLayout va être 320dp, je ne veux rien changer, mais s'il détermine que ça va être 480dp, je veux le réduire à 400dp. J'ai essayé tout ce que je pouvais penser pour que cela se produise. Ma dernière tentative a été de créer une vue personnalisée héritée de LinearLayout et de remplacer la méthode onMeasure pour définir des dimensions personnalisées. Cependant, le problème que je rencontre est que même si la largeur LinearLayout réelle est réduite toutes les vues à l'intérieur , etc.) sont toujours disposées comme si la largeur n'avait jamais changé, de sorte qu'elles étaient coupées sur le côté.Android - Comment limiter la largeur de LinearLayout

Si quelqu'un a des suggestions sur la façon d'accomplir cela ou connaît des applications open source qui font cela que je pourrais regarder ce serait très apprécié.

+0

Vous semblez avoir besoin de créer un ViewGroup personnalisé. Êtes-vous sûr de l'avoir fait correctement? – mibollma

Répondre

0

Vous devez vérifier getMeasuredWidth(). Si c'est plus grand que vous voulez, setLayoutParams() avec la largeur correcte. Rappelez-vous que les unités Java sont en pixels, vous devez donc les mettre à l'échelle correctement.

Questions connexes