我正在尝试在运行时实例化水平线性布局,我希望布局中的元素沿布局的整个宽度散布。我也希望所有内容都垂直于中心对齐。这是我目前所拥有的:
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);
任何帮助将不胜感激,谢谢!
我想将PARENT
添加到的tertiaryLinearLayout
视图是wrap_content
的layout_width
。尝试使其宽度match_parent
。您应该在this tutorial的2:52s看一下