将布局添加到ViewGroup Android

时间:2013-08-23 17:50:01

标签: android android-layout viewgroup

我有一个基于ViewGroup的飞行菜单。 我希望有一个基本的布局,在任何活动中我都可以插入视图组新的布局,然后擦除它。 但它不起作用!!! 你能帮帮我吗。

类:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    this.root = (FlyOutContainer) this.getLayoutInflater().inflate(R.layout.activity_main, null);

    this.setAdditionalLayout(findViewById(R.id.physical_layout));

    this.setContentView(root);
}

的ViewGroup:

    <com.nurielweizmann.calculator.view.viewgroup.FlyOutContainer xmlns:android="http://schemas.android.com/apk/res/android"
                                                              android:layout_width="match_parent"
                                                              android:layout_height="match_parent">
<RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#444488"
        android:orientation="vertical"
        android:id="@+id/menu">
............
</RelativeLayout>
</com.nurielweizmann.calculator.view.viewgroup.FlyOutContainer>

功能:

    FlyOutContainer root;
    public void setAdditionalLayout(View view){
        root.addView(view,1);
    }

先谢谢

1 个答案:

答案 0 :(得分:0)

尝试覆盖setContentView(int)而不是onCreate(Bundle)

确保您的基本布局XML有ViewGroup(例如FrameLayout)可用于放置每个Activity的内容。

覆盖setContentView(int)时,先膨胀您的基本布局,然后让Activity的布局膨胀,并将Activity的布局放在FrameLayout可用的位置。