我正在尝试创建一种将新的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);

07-28 03:28
查看更多