网页里面能够嵌套网页,那Android的Activity能不能嵌套呢?答案是肯定。Android给我们提供了ActivityGroup和TabActivity,当我们至需要嵌套一个Activity或者不方便继承ActivityGroupF的时候,我们可以参考ActivityGroup的实现,比较关键的是LocalActivityManager。

最外层Activity

public class ViewActivity extends Activity{     protected LocalActivityManager mLocalActivityManager;     private FrameLayout mBoday;          @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);                  setContentView(R.layout.base_layout);                  mLocalActivityManager = new LocalActivityManager(this, true);                  Bundle states = savedInstanceState != null? (Bundle) savedInstanceState.getBundle(STATES_KEY) : null;         mLocalActivityManager.dispatchCreate(states);                           Intent intent = new Intent();         intent.setAction("android.settings.SETTINGS");         intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);         View v = mLocalActivityManager.startActivity("one", intent).getDecorView();         mBoday.removeAllViews();         mBoday.addView(v);     }      }

LocalActivityManager.startActivity()需要传入里程Activity信息,就跟Activity.startActivity()打开新的Activity的Intent参数一样,不同的是LocalActivityManager.startActivity()把传入的Activity信息作为嵌套Activity打开。

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="fill_parent"     android:layout_height="fill_parent"     android:orientation="vertical" >      <FrameLayout android:id="@+id/frame"         android:layout_width="fill_parent"         android:layout_height="fill_parent">     </FrameLayout>  </LinearLayout>

外层Activity布局文件可以随意布置,但记得包涵里层Activty的布局标签,就像View是不能正常打开的里层Activity的。

外层Activity布局文件除了FrameLayout还可以使用LinearLayout作为显示里层Activity的视图。

但是里层Activity如果是ListActivity或者关于List相关属性的都不能正常显示。

目前猜测是因为ListActivity一类没有更新显示。



更多相关文章

  1. Android:布局合集
  2. 浅析:Android 嵌套滑动机制(NestedScrolling)
  3. Android 关于嵌套listView时onItemClick事件不响应的解决办法
  4. Android实现类似有Table边框的布局
  5. Android 软键盘将指定的布局顶上去
  6. [图文]为移植到Android平台上的Cocos2d-x项目添加xml布局文件
  7. Android NestedScrolling 嵌套滚动原理解析

随机推荐

  1. Android Java代码执行adb Shell命令
  2. android中设置手机的语言系
  3. Android 添加删除联系人2.0之前与2.0之后
  4. android.graphics.Movie
  5. Android中获取和设置手机的壁纸
  6. android wifi 操作
  7. Android studio so库找不到问题
  8. android中listview分批加载数据
  9. Android 获取设备宽高分辨率
  10. MVP+RxJava+Dagger打造的Android(安卓)Al