Android Studio:以编程方式实例化水平线性布局不起作用

问题描述 投票:0回答:1

我正在尝试在运行时实例化水平线性布局,我希望布局中的元素沿布局的整个宽度散布。我也希望所有内容都垂直于中心对齐。这是我目前所拥有的:

LinearLayout tertiaryLinearLayout = new LinearLayout(getActivity());
tertiaryLinearLayout.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
tertiaryLinearLayout.setOrientation(LinearLayout.HORIZONTAL);
tertiaryLinearLayout.setGravity(Gravity.FILL_HORIZONTAL);

这将实例化布局,但其中的元素无法正确填充其整个宽度。我也不确定如何在不将setGravity更改为

的情况下使其垂直对齐。
tertiaryLinearLayout.setGravity(Gravity.CENTER_VERTICAL);

此TextView是我添加到布局中的五个元素之一:

TextView dash = new TextView(getActivity());
dash.setText("-");

其中两个元素是ImageViews,其他三个元素是TextViews。这是当前的外观:https://i.stack.imgur.com/MGLyJ.jpg

编辑:整体结构是带有垂直LinearLayout的ScollView。此LinearLayout包含许多其他垂直的LinearLayouts,每个都有一个水平的LinearLayout。希望有道理。tertiaryLinearLayout的父视图在这里:

LinearLayout secondaryLinearLayout = new LinearLayout(getActivity());
secondaryLinearLayout.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));
secondaryLinearLayout.setOrientation(LinearLayout.VERTICAL);
...
secondaryLinearLayout.addView(tertiaryLinearLayout);

任何帮助将不胜感激,谢谢!

java android android-layout dynamic android-linearlayout
1个回答
0
投票

我想将PARENT添加到的tertiaryLinearLayout视图是wrap_contentlayout_width。尝试使其宽度match_parent。您应该在this tutorial的2:52s看一下

© www.soinside.com 2019 - 2024. All rights reserved.