Mam ten kod w mojej aplikacji:
LinearLayout.LayoutParams params =
new LinearLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT);
i chcę tylko ustawić orientację LinearLayout na pionową. Odpowiednik w XML to:
android:orientation="vertical"
Jak mogę to zrobić w kodzie, bez XML?
myLayout.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
Musisz zainstalować LinearLayout. Następnie możesz wywołać setOrientation ()
LinearLayout myLayout = ...; myLayout.setLayoutParams(new LayoutParams(LinearLayout.WRAP_CONTENT, LinearLayout.WRAP_CONTENT); myLayout.setOrientation(LinearLayout.VERTICAL);
To powinno wystarczyć :)
Więcej informacji można znaleźć w interfejsie API systemu Android .
źródło
Przykład roboczy poniżej (to LayoutParams.WRAP_CONTENT, NIE LinearLayout.WRAP_CONTENT)
myLayout.setOrientation(LinearLayout.VERTICAL); LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); myLayout.setLayoutParams(layoutParams);
źródło
Na wypadek, gdyby pojawił się tu ktoś inny, jak ja, szukający odpowiedzi na platformę Xamarin, odpowiednikiem jest:
LinearLayout layout = /* ... */; layout.Orientation = Orientation.Vertical; layout.LayoutParameters = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MatchParent, LinearLayout.LayoutParams.WrapContent);
źródło
Po prostu użyj w następujący sposób: -
LinearLayout mlayout = new LinearLayout(context); mlayout.setOrientation(2);
2 oznacza
Vertical
, 1 jest używany dohorizontal
.źródło