如何在Android中将布局添加到另一个布局

时间:2017-07-10 11:54:16

标签: java android android-layout

如何将布局添加到另一个布局?

如何将用Java编写的布局添加到另一个布局中。在这种情况下,我想将new RevAppBarLayout().getRevAppBarLayout(this);添加到名为抽屉的DrawerLayout。

DrawerLayout drawer = new DrawerLayout(this);
drawer.addView(inflatedLayout);
public class RevAppBarLayout extends MainActivity {

    public AppBarLayout getRevAppBarLayout(Context context) {
        AppBarLayout revAppBarLayout = new AppBarLayout( context );
        Toolbar revToolBar = new Toolbar( context );

        setSupportActionBar(revToolBar);

        return revAppBarLayout;
    }
}

如果它是XML片段,这是如何做到的:

AppBarLayout revAppBarLayout = new RevToolBar().getRevAppBarLayout( this );

LayoutInflater inflater = LayoutInflater.from(context);
 View inflatedLayout= inflater.inflate(R.layout.yourLayout, null, false);
 drawer.addView(inflatedLayout);

1 个答案:

答案 0 :(得分:1)

您是否在布局中添加了抽屉?因为它不是从您的布局中检索出来的,所以您将其动态地实例化为新对象。

并且您不需要inflater来将布局或视图添加到另一个布局。如果它的活动使用$('[name^="data["]')获取布局(RelativeLayout,FrameLayout等),则使用addView将所需的任何视图添加到此布局。