J'ai ce code dans mon application:
LinearLayout.LayoutParams params =
new LinearLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT);
et je veux juste définir l'orientation de LinearLayout à la verticale. L'équivalent en XML est:
Android:orientation="vertical"
Comment puis-je le faire dans le code, sans XML?
Vous ne pouvez pas changer l'orientation de LinearLayout
en utilisant son LayoutParams
. Cela ne peut être fait qu'avec un objet LinearLayout
.
LinearLayout layout = /* ... */;
layout.setOrientation(LinearLayout.VERTICAL);
Vous pouvez utiliser comme celui-ci:
LinearLayout myll = (LinearLayout) findViewById(R.id.yourLinearLayout);
myll.setLayoutParams(new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT));
myll.setOrientation(LinearLayout.VERTICAL);
Vous devez par exemple LinearLayout. Après cela, vous pouvez appeler setOrientation ()
LinearLayout myLayout = ...;
myLayout.setLayoutParams(new LayoutParams(LinearLayout.WRAP_CONTENT, LinearLayout.WRAP_CONTENT);
myLayout.setOrientation(LinearLayout.VERTICAL);
Cela devrait faire le travail :)
Pour plus d'informations, consultez le Android API .
Un exemple de travail ci-dessous (c'est LayoutParams.WRAP_CONTENT, PAS LinearLayout.WRAP_CONTENT)
myLayout.setOrientation(LinearLayout.VERTICAL);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
myLayout.setLayoutParams(layoutParams);
Si quelqu'un d'autre arrive ici comme moi à la recherche de la réponse pour Xamarin, l'équivalent est:
LinearLayout layout = /* ... */;
layout.Orientation = Orientation.Vertical;
layout.LayoutParameters = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MatchParent, LinearLayout.LayoutParams.WrapContent);