В моем приложении есть этот код:
LinearLayout.LayoutParams params =
new LinearLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT);
и я просто хочу установить вертикальную ориентацию LinearLayout. Эквивалент в XML:
android:orientation="vertical"
Как это сделать в коде, без XML?
myLayout.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
Вам нужно создать экземпляр LinearLayout. После этого вы можете вызвать setOrientation ()
LinearLayout myLayout = ...; myLayout.setLayoutParams(new LayoutParams(LinearLayout.WRAP_CONTENT, LinearLayout.WRAP_CONTENT); myLayout.setOrientation(LinearLayout.VERTICAL);
Это должно сработать :)
Для получения дополнительной информации проверьте Android API .
источник
Рабочий пример ниже (это LayoutParams.WRAP_CONTENT, НЕ LinearLayout.WRAP_CONTENT)
myLayout.setOrientation(LinearLayout.VERTICAL); LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); myLayout.setLayoutParams(layoutParams);
источник
Если сюда прибудет кто-то другой, как я, ищущий ответ для Xamarin, эквивалент:
LinearLayout layout = /* ... */; layout.Orientation = Orientation.Vertical; layout.LayoutParameters = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MatchParent, LinearLayout.LayoutParams.WrapContent);
источник
Просто используйте следующее: -
LinearLayout mlayout = new LinearLayout(context); mlayout.setOrientation(2);
2 означает
Vertical
, что 1 используется дляhorizontal
.источник