В идеале это можно сделать, используя вложенные фрагменты, но Android пока не поддерживает это.Это оставляет устаревший класс ActivityGroup.Вам потребуется действие верхнего уровня, которое расширяет ActivityGroup и запускает эти два действия.
Вот как вы запускаете действия и получаете их виды:
final Window w = getLocalActivityManager().startActivity(myTag, myIntent);
final View wd = w != null ? w.getDecorView() : null;
if ( null != wd ) {
wd.setVisibility(View.VISIBLE);
wd.setFocusableInTouchMode(true);
}
// TODO: Attach wd to a ViewGroup.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Редактировать: Ниже приведено более полное решение.
Это макет для действия верхнего уровня:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/root_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
</LinearLayout>
Вот класс верхнего уровня:
public class EmbeddedActivityParent extends ActivityGroup {
private LinearLayout mRootLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mRootLayout = (LinearLayout) findViewById(R.id.root_layout);
// Add embedded status activity.
embedActivity("StatusColumn", new Intent(this, StatusActivity.class));
// Add embedded work activity.
embedActivity("WorkArea", new Intent(this, MainActivity.class));
}
private void embedActivity(String myTag, Intent launchIntent) {
final Window w = getLocalActivityManager().startActivity(myTag, launchIntent);
final View wd = w != null ? w.getDecorView() : null;
if ( null != wd ) {
wd.setVisibility(View.VISIBLE);
wd.setFocusableInTouchMode(true);
mRootLayout.addView(wd);
}
}
}
Вы можете добавить столько встроенных действий, сколько захотите.Вы даже можете вкладывать вложенные действия, но помните, что производительность может стать фактором.Мы используем это для поддержки динамического столбца состояния.
Лично я думаю, что для ActivityGroup все еще есть применение, и надеюсь, что Gooogle решит отказаться от него.