如何在运行时将静态布局添加到另一个静态布局

时间:2011-04-18 11:16:50

标签: android runtime add android-linearlayout at-command

我是android.i的新开发者,在android中遇到布局问题。

我在main.xml中使用了三个布局,如下所示

main.xml中

<LinearLayout android:layout_width="fill_parent" 
android:layout_height="60dip" 
android:gravity="center" android:background="@drawable/tabmessage" android:id="@+id/linearLayout01">

    <TextView android:id="@+id/textView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textColor="#000000" android:text="layout1">
    </TextView>
</LinearLayout>

<LinearLayout android:layout_width="fill_parent" 
android:layout_height="200dip" android:background="#ff0000" android:id="@+id/linearLayout03">
 <LinearLayout android:layout_width="fill_parent" 
android:layout_height="60dip" 
android:gravity="center" android:background="@drawable/tabmessage" android:id="@+id/linearLayout02">

    <TextView android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textColor="#000000" android:text="layout2" android:id="@+id/textView2">
    </TextView>
</LinearLayout>
</LinearLayout>

我按照以下方式完成了课程

MyClass.java

公共类MyShout扩展Activity {     /** 在第一次创建活动时调用。 * /

 @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    LinearLayout layout1=((LinearLayout)findViewById(R.id.linearLayout01));
    LinearLayout layout2=((LinearLayout)findViewById(R.id.linearLayout02));
    LinearLayout layout3=((LinearLayout)findViewById(R.id.linearLayout03));

  }        
}

这里我想将layout1添加到layout3。我可以在运行时将layout1添加到layout3吗?请帮帮我......

2 个答案:

答案 0 :(得分:2)

你可以做到

layout3.addView(layout1); 
//or
ViewGroup.LayoutParams params = new //setup here positioning rules
layout3.addView(layout1, params);

答案 1 :(得分:0)

你不能这样做。

你可以这样做:

<LinearLayout>
    <LinearLayout>
           <LinearLayout>
           </LinearLayout>
    </LinearLayout>
</LinearLayout>