我有一个基于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);
}
提前感谢
尝试重写setContentView(int)
而不是onCreate(Bundle)
。
确保基本布局XML有一个ViewGroup
(例如FrameLayout
)可用于放置每个Activity
的内容。
当覆盖setContentView(int)
时,先扩展基本布局,然后扩展Activity
的布局,并将Activity
的布局放置在可用的FrameLayout
上。