Orientation de la disposition dans le code

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 modifier l’orientation de LayoutParams utilisant ses LayoutParams . Cela ne peut être fait qu’avec un object LinearLayout .

 LinearLayout layout = /* ... */; layout.setOrientation(LinearLayout.VERTICAL); 

Vous pouvez utiliser comme celui-ci:

 LinearLayout myll = (LinearLayout) findViewById(R.id.yourLinearLayout); myll.setLayoutParams(LinearLayout.WRAP_CONTENT, LinearLayout.WRAP_CONTENT); myll.setOrientation(LinearLayout.VERTICAL); 

Vous devez insérer 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 l’ API Android .

Un exemple de travail ci-dessous (c’est LayoutParams.WRAP_CONTENT, NOT LinearLayout.WRAP_CONTENT)

 myLayout.setOrientation(LinearLayout.VERTICAL); LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); myLayout.setLayoutParams(layoutParams); 

Au cas où quelqu’un d’autre arriverait ici comme moi à la recherche de la réponse pour Xamarin, l’équivalent serait:

 LinearLayout layout = /* ... */; layout.Orientation = Orientation.Vertical; layout.LayoutParameters = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MatchParent, LinearLayout.LayoutParams.WrapContent); 

Utilisez simplement comme suit: –

 LinearLayout mlayout = new LinearLayout(context); mlayout.setOrientation(2); 

2 signifie Vertical , 1 est utilisé pour l’ horizontal .