ActivityGroup簡介


1.ActivityGroup的核心就是繼承該類,能夠通過getLocalActivityManager()得到一個LocalActivityManager

,LocalActivityManager  am= getLocalActivityManager();

2.然后通過LocalActivityManager通過startActivity(String id, Intent intent),可以與指定的Actiivty綁定,並且返回一個WindowLocalActivityManager可以同時管理多個Activity

Window window1 = am.startActivity("Module1", newIntent(TestView.this, ModuleView1.class));
Window window2 = am.startActivity("Module2", newIntent(TestView.this, ModuleView2.class));

3.然后Window可以通過getDecorView()方法,返回一個View,然后通過與指定容器的addView(View)方法,實現不同的效果

View view1 = window1.getDecorView()
View view2 = window2.getDecorView()

實際中多用簡寫形式,,
containerScrollView的一個實例
container.removeAllViews();     //移除其他所有子視圖
container.addView(getLocalActivityManager().startActivity(
                       "Module2",
                       new Intent(TestView.this, ModuleView2.class)
                         .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)                                                     )
                       .getDecorView());


注意:
container.removeAllViews():
表示在顯示該視圖之前,先移除其他所有視圖.
Intent.FLAG_ACTIVITY_CLEAR_TOP:
如果在當前Task中,有要啟動的Activity,那么把該Acitivity之前的所有Activity都關掉,並把此Activity置前以避免創建Activity的實例

這種方式具有很大的靈活性,常用的就是實現TabHost分頁效果,但很好的避免的TabHost的缺點,如title

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM