是的,我可以。这些天晚些时候我会写解决方案。
更新
这是如何做到的。
首先,你需要一个合适的布局,比如res/layout/multiview.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:id="@+id/multiview_layout">
<LinearLayout android:id="@+id/my_view_1"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:layout_weight="1">
</LinearLayout>
<LinearLayout android:layout_height="fill_parent"
android:layout_width="fill_parent" android:layout_weight="1"
android:id="@+id/my_view_2">
</LinearLayout>
</LinearLayout>
在您的主要活动中,它将扮演启动器的角色:
public class MyMultiViewActivity extends ActivityGroup {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.multiview);
layout = (LinearLayout) findViewById(R.id.multiview_layout);
layout_s1 = (LinearLayout) findViewById(R.id.my_view_1);
layout_s2 = (LinearLayout) findViewById(R.id.my_view_2);
LocalActivityManager mgr = getLocalActivityManager();
layout_s1.addView((mgr.startActivity("MyOtherActivityInstance1", new Intent(this, MyOtherActivity.class))).getDecorView());
layout_s2.addView((mgr.startActivity("MyOtherActivityInstance2", new Intent(this, MyOtherActivity.class))).getDecorView());
}
LinearLayout layout;
LinearLayout layout_s1;
LinearLayout layout_s2;
}