2010-04-27 5 views
5

Je dois créer une interface graphique (layout + views) dans mon classe d'activité .java (je sais que c'est beaucoup plus flexible et plus facile pour utiliser le fichier de mise en page .xml, mais je ne veux pas l'utiliser pour l'instant).Définir les attributs (marge, gravité, etc ...) vers une vue Android par programmation (sans XML)

Je ne trouve pas setGravity() (mais un objet "Gravity" que je n'arrive pas à comprendre) ou n'importe quel set setMargin() pour l'objet "View".

Quelle est la manière la plus facile de le faire?

Thanx.

+0

Vous pouvez obtenir des détails dans le lien ci-dessous. http://smartandroidians.blogspot.com/2009/12/setting-margin-for-widgets.html Merci, Ganapathy. –

Répondre

1

Vous pouvez ajouter de la gravité aux "dispositions" et non aux "contrôles". Essayez de définir la gravité sur n'importe quelle disposition Linéaire/Relative ou Cadre en utilisant setGravity(); .

Par exemple:

LinearLayout lll = (LinearLayout) findViewById(R.id.layoutname); 
     lll.setGravity(Gravity.CENTER); 
7

Pour régler la marge sur le composant. Ce qui suit laisse les marges existantes comme précédemment définies et définit la marge de gauche comme zéro.

TextView title = ((TextView)findViewById(R.id.default_panel_title)) 
final ViewGroup.MarginLayoutParams lpt =(MarginLayoutParams)title.getLayoutParams(); 

lpt.setMargins(0,lpt.topMargin,lpt.rightMargin,lpt.bottomMargin); 

title.setLayoutParams(lpt); 
Questions connexes