2014-03-13 41 views
14

enter image description here我想使滑動菜單,就像下面的圖片

我能夠使用此代碼,以使滑塊3D效果。但我不知道如何在3D中製作。

import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.support.v7.app.ActionBarActivity; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.view.ViewGroup; 
import android.view.Window; 
import android.widget.ImageButton; 

import com.navdrawer.SimpleSideDrawer; 

public class MainScreen extends ActionBarActivity { 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
this.requestWindowFeature(Window.FEATURE_NO_TITLE); 
setContentView(R.layout.activity_main_screen); 

if (savedInstanceState == null) { 
    getSupportFragmentManager().beginTransaction() 
      .add(R.id.container, new PlaceholderFragment()).commit(); 
} 
} 

/** 
* A placeholder fragment containing a simple view. 
*/ 
public static class PlaceholderFragment extends Fragment implements 
    OnClickListener { 
private ImageButton _Menu; 
private SimpleSideDrawer slide_me; 

public PlaceholderFragment() { 
} 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
    View rootView = inflater.inflate(R.layout.fragment_main_screen, 
      container, false); 
    slide_me = new SimpleSideDrawer(getActivity()); 
    slide_me.setLeftBehindContentView(R.layout.slider_menu_inflator); 

    _Menu = (ImageButton) rootView.findViewById(R.id.menu); 
    _Menu.setOnClickListener(this); 
    return rootView; 
} 

@Override 
public void onClick(View v) { 
    switch (v.getId()) { 
    case R.id.menu: 
     slide_me.toggleLeftDrawer(); 
     break; 

    default: 
     break; 
    } 
} 
} 
} 

回答

12

使用 AndroidResideMenu圖書館與

+0

我做到了。在ResideMenu.buildScaleDownAnimation中改變scaleDown.playTogether(ObjectAnimator.ofFloat(target,「scaleX」,targetScaleX),ObjectAnimator.ofFloat(target,「scaleY」,targetScaleY));添加ObjectAnimator.ofFloat(target,「rotationY」,-20)並在ResideMenu.buildScaleUpAnimation中更改scaleUp.playTogether(ObjectAnimator.ofFloat(target,「scaleX」,targetScaleX),ObjectAnimator.ofFloat(target,「scaleY」,targetScaleY)) ;添加ObjectAnimator.ofFloat(target,「rotationY」,0) –

+0

如何在側面菜單項之間添加分隔符??請幫忙... – Nevaeh

+0

@Nevaeh轉到Library項目並打開residemenu_item.xml在下面添加線性佈局與高度2 dp的textview。通過這個你可以創建一個divider –

1

給它一個3D效果的翻譯,你需要把一個攝像頭視圖的前面,然後平移相機也隨之改變角度。檢查下面的代碼,以獲得類似於imageview的效果。你可以選擇代碼的一部分,並修改根據自己的需要:

https://code.google.com/p/android-coverflow/

+0

花花公子其滑蓋菜單像Facebook這樣的3D效果製作幻燈片菜單,當我們點擊該菜單上按鈕在自定義標題欄中,然後菜單將打開,就像我發佈的圖像,活動將移動到3D動畫的右側。封面流程與此流程完全不同。 @Sushil – Dev

+0

@Pankaj ..我知道你在談論FB中的滑動菜單。不要專注於Coverflow設計。只關注提供3D翻譯的代碼。它通過將攝像機側向移開並遠離視野。嘗試將這種動畫添加到滑塊菜單代碼中。 – Sushil

+0

我得到了邏輯dude.thnx – Dev