2013-07-03 50 views
0

我有5個選項卡。每個選項卡包含多個活動,每個活動包含多個片段。TabActivity,包含片段的活動

對於如:導航需要的是在TAB1 - 活動1 - Fragment1_Activity1 - Fragment2_Activity1 - 活性2 - Fragmnet1_Activity2

我用的ActivityGroup顯示活性2的標籤內。

ActivityGroupClass:

public class CouponsActivityGroup extends ActivityGroup { 
    private Stack<String> stack; 

     @Override 
     public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     if (stack == null) stack = new Stack<String>(); 
     //start default activity 
     push("FirstStackActivity", new Intent(this, CouponsContianer.class)); 
     } 

     @Override 
     public void finishFromChild(Activity child) { 
     pop(); 
     } 

     @Override 
     public void onBackPressed() { 
     pop(); 
     } 


     public void push(String id, Intent intent) { 
     Window window = getLocalActivityManager().startActivity(id, intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)); 
     if (window != null) { 
      stack.push(id); 
      setContentView(window.getDecorView()); 
     } 
     } 

     public void pop() { 
     if (stack.size() == 1) finish(); 
     LocalActivityManager manager = getLocalActivityManager(); 
     manager.destroyActivity(stack.pop(), true); 
     if (stack.size() > 0) { 
      Intent lastIntent = manager.getActivity(stack.peek()).getIntent(); 
      Window newWindow = manager.startActivity(stack.peek(), lastIntent); 
      setContentView(newWindow.getDecorView()); 
     } 
     } 
    } 

從Fragment2_Activity1我用下面的代碼調用活性2:

Intent intent = new Intent(); 
intent.setClass(getParent(), RelatedItemListActivity .class); 
CouponsActivityGroup activityStack = (CouponsActivityGroup) getParent(); 
activityStack.push("SecondStackActivity", intent); 

問題現在面臨的

  1. 我要爲活性2的過渡動畫
  2. 從Activity2按下時 - Activity1(Fragment2_Activity1)中的最後一個Fragment狀態需要維護。

    如何實現這一目標?

回答

0

片段是一些舊的ActivityGroups的替代品,不應該一起使用。嘗試僅使用一個活動和儘可能多的片段來實現您的應用程序。

回答您的問題:

  1. FragmentManager幫助您設置的動畫。請參閱FragmentTransaction.setCustomAnimations。
  2. 使用addToBackStack方法正確支持後退按鈕。
+0

我使用Activity2的原因是 - 我想要一個滑動屏幕的滑動動畫,滑過底部屏幕,此屏幕應與底部屏幕的導航欄重疊。對於其他屏幕,導航欄是固定的。導航欄位於Activity1佈局內部。如果我使用片段而不是Activity2,它將不會滑過導航欄 – nila