我正在尝试创建一种将新的LinearLayout添加到现有LinearLayout的方法。我想向此方法发送一个参数,告诉它新的LinearLayout应该是VERTICAL还是HORIZONTAL。到目前为止,这就是我所拥有的,但是“ LinearLayout.Orientation”不是此参数类型的正确名称。
private LinearLayout addLinearLayout(View linearLayout, LinearLayout.Orientation orientation)
{
//Create new horizontal linear layout and add to the specified linear layout
LinearLayout newLinearLayout = new LinearLayout(context);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
layoutParams.setMargins(20, 10, 0, 10);
newLinearLayout.setOrientation(LinearLayout.orientation);
((LinearLayout) linearLayout).addView(newLinearLayout, layoutParams);
return newLinearLayout;
}
这可能吗?如果是这样,我要传递的参数是什么类型?
谢谢你的帮助。
最佳答案
从the documentation:
public void setOrientation(int方向)
(...)
方向通过水平或垂直。默认值为“水平”。
private LinearLayout addLinearLayout(LinearLayout linearLayout, int orientation) {
//Create new horizontal linear layout and add to the specified linear layout
LinearLayout newLinearLayout = new LinearLayout(context);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
layoutParams.setMargins(20, 10, 0, 10);
newLinearLayout.setOrientation(orientation);
linearLayout.addView(newLinearLayout, layoutParams);
return newLinearLayout;
}
像这样调用此方法:
addLinearLayout(yourLinearlayout, LinearLayout.HORIZONTAL);