2013-06-21 35 views
0

所以我有一個應用程序,我正在構建它有一個主屏幕是3個片段。我有這些碎片在彼此之間很好地滑動。我正在嘗試在右側滑動中實施設置菜單。因此,用戶將滑動到正確的片段,然後從那裏按一個按鈕,使他們進一步進入樹。滑回活動API 17

目前,我有這個按鈕按創建一個新的活動,我用overridePendingTransition()創建在刷卡的感覺。

什麼我有現在允許用戶刷「回」的問題沒有按鈕按下。我希望他們能夠按下按鈕前進並滑動回去。這是爲了在應用程序中流動。

本質:

主要碎片--right刷卡 - > settingsFragment --- buttonPress - >子菜單活動--- buttonPress - >子/子菜單

而且回去< - - 從小孩那兒滑過。

這裏是什麼,我現在有一個例子:

這是從settingsFragment類

Button accounts = (Button) v.findViewById(R.id.buttonAccounts); 
    accounts.setOnClickListener(new OnClickListener(){ 
     @Override 
     public void onClick(View view){ 
      Intent k = new Intent(getActivity(), Accounts.class);  
      getActivity().startActivity(k); 
      getActivity().overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left); 
     } 

    }); 

從賬戶類我希望能夠刷卡回沒有按下按鈕。

也因爲這是回到一個片段將是一個問題?當我在兩次活動之間旅行時,此實施是否會改變?我正在做進一步設置樹。

請幫

感謝

安迪

+0

您是否看過實施導航抽屜? http://developer.android.com/design/patterns/navigation-drawer.html – Squonk

+0

不,我沒有,但我喜歡那個......你推薦的任何好的教程?這與我的Fragment設計有關嗎? – Andy

+0

我在http://developer.android.com/training/implementing-navigation/nav-drawer.html關注了Google文檔 - 我有一個應用程序,其中包含使用ViewPager在片段之間滑動的各種活動,它對我來說工作正常。實施起來並不困難 - 試試看看它是否符合您的要求。 – Squonk

回答

2

覆蓋活動的內置的onTouchEvent方法。

private static final int SWIPE_THRESHOLD = 100; 
private float _downX; 

@Override 
public boolean onTouchEvent(MotionEvent evt) { 
    switch(evt.getAction()) { 
     case MotionEvent.ACTION_DOWN: 
      _downX = evt.getX(); 
     case MotionEvent.ACTION_UP: 
      float deltaX = evt.getX() - _downX; 

      if(Math.abs(deltaX) > SWIPE_THRESHOLD && deltaX < 0) 
       onLeftSwipe(); 
    } 

    return true; 
} 
+0

這將在新的活動課上實施嗎?在那裏我真的「回去」。對不起,如果這是一個愚蠢的問題。 – Andy

+0

你在onLeftSwipe方法中「回去」,是的,它必須在活動或視圖中實現(我不認爲Fragments有一個onTouchEvent方法)。 – ashwin153

+1

所以我試過這段代碼,並添加了public void onLeftSwipe(){finish();}並且它什麼也沒做......我在模擬器中測試... – Andy