2013-03-07 2 views
10

내 앱에 슬라이딩 메뉴와 같은 얼굴 모양이 있어야합니다. 나는이 문제에 관해서 google'd하고, 단 하나의 슬라이딩 메뉴를 만드는 데 많은 도움이되는 많은 게시물을 발견했다. 하지만 내가 필요로하는 것은 슬라이딩 메뉴 즉, 슬라이딩 메뉴에서 몇 가지 옵션을 클릭하면 2 레벨 슬라이딩 메뉴입니다. 아래 그림과 같이 zomato 앱과 마찬가지로 슬라이딩 메뉴를 다른 슬라이딩 메뉴 (첫 번째 슬라이딩 메뉴는이 시점에서 흐려져야 함)로 열어야합니다. 나는 JFeinstein 슬라이딩 메뉴 라이브러리로 시도했지만, 그것을 사용하여 2 레벨 슬라이딩 메뉴를 만들 수 있습니다. 이를 달성 할 수있는 다른 라이브러리가 있습니까? 아니면 직접 구축해야합니까? 아래 표시됨Android - 하위 메뉴가있는 슬라이딩 메뉴

는 Zomato 앱에서 메뉴를 슬라이딩 : 나 위 메뉴 "위치"옵션을 클릭하면 아래와 같이 그것이 부 메뉴 열리는

enter image description here

. 나는 같은 기능을 원했다.

enter image description here

+3

두 번째 슬라이딩 메뉴가 새로운 메뉴라는 것을 상상해보십시오. 두 번째 슬라이드 메뉴를 만들 때와 마찬가지로 다른 슬라이딩 메뉴를 두 번째 슬라이드 메뉴에 할당하십시오. 어려움은 무엇입니까? – Daler

+0

@Daler 나는이 글을 보려고한다. bcox 나는 2 차 메뉴가 2 차 메뉴가 아닌 새로운 메뉴가되기를 원한다. 나는 첫 번째 메뉴 옵션을 클릭 할 때 블러가되어 두 번째 메뉴 뒤에 가야한다. –

+0

@Daler가 첫 번째 의견을보다 명확하게 요약 할 수 있습니까? –

답변

6

체크 아웃 Sliding Panel component 효과적으로 하나 개의 화면 디스플레이의 여러 깊이 데이터를 나타내는 상호 슬라이딩 복수 겹쳐보기 가능 위젯.

또한 참조 된 구현의 demo을 제공하며이를 확인할 수도 있습니다.

감사합니다.

+0

방금 ​​데모를 다운로드하여 작동 방법을 확인했습니다. 나는 그것을 가져 와서 실행 해 보았지만 여기에 표시된대로 logcat 메시지를 남겨 두었습니다. http://pastebin.com/6iKBJ98i –

+0

@sureshcheemalamudi 안녕하십니까,이 요구 사항에 대한 해결책을 찾을 수 있었습니까?나는 2 레벨 슬라이딩 메뉴를 얻는 것과 똑같은 요구 조건을 가지고있다. 지금까지는 운이 없다. 도와 주실 수 있겠습니까? 감사. – jasdmystery

+0

매우 버그가 있고 느린 구성 요소 – agamov

3

JFeinstein 슬라이딩 메뉴를 사용하여 원하는만큼 메뉴 레벨을 쉽게 추가 할 수 있습니다. 슬라이딩 메뉴를 메인 슬라이딩 메뉴의 왼쪽 또는 오른쪽 슬라이딩 뷰로 사용하는 것입니다. 주석과 출력이있는 2 레벨 메뉴의 완전한 코드가 추가되어 명확하게 나타납니다.

enter image description here

참고 : 여기에

public class MainActivity extends SlidingFragmentActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // dummy views - content view TextView content = new TextView(this); content.setBackgroundColor(Color.WHITE); content.setText("content"); // Menu view TextView menu = new TextView(this); menu.setBackgroundColor(Color.GREEN); menu.setText("menu"); // 2nd level menu view TextView subMenu = new TextView(this); subMenu.setBackgroundColor(Color.LTGRAY); subMenu.setText("submenu"); //configure sliding menu SlidingMenu sm = getSlidingMenu(); sm.setMode(SlidingMenu.SLIDING_WINDOW); sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); sm.setBehindOffset(80); sm.setBehindScrollScale(0.25f); sm.setFadeDegree(0.25f); //Another sliding menu - for 2nd level or sub menu SlidingMenu leftSlidingView = new SlidingMenu(this); leftSlidingView.setMode(SlidingMenu.SLIDING_WINDOW); leftSlidingView.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); leftSlidingView.setBehindOffset(80); leftSlidingView.setBehindScrollScale(0.25f); leftSlidingView.setFadeDegree(0.25f); //==== Required instruments has been created ;) lets put them at right places // setting menu and sub-menu view leftSlidingView.setContent(menu); // at center of left sliding view leftSlidingView.setMenu(subMenu); // at left of left sliding view //set content view setContentView(content); // at center of main sliding view // finally, set leftSlidingView as behind content view of main view setBehindContentView(leftSlidingView); // at left of main sliding view } } 

는 출력
당신은 라이브러리로 JFeinstein 슬라이딩 메뉴를 가져 SlidingFragmentActivity에서 활동을 확대 할 필요가있다.