2013-04-20 2 views
0

Jeremy Feinstein의 SlidingMenu 라이브러리를 사용하여 응용 프로그램을 개발하려고합니다. Github 지침에 설명 된대로 올바르게 수행했습니다. 모든 것이 잘 작동하지만 문제는 슬라이더를 열려고 액션 바 홈 버튼을 클릭 할 때 전체 화면을 덮는 것입니다. Facebook 앱의 Facebook 슬라이더와 같이 열어서 반으로 열어 보겠습니다. 내 코드는 다음과 같습니다 :jeremy feinstein의 SlidingMenu 구현

public class MainActivity extends SlidingFragmentActivity { 

@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.activity_main); 


    //Hide title bar 
    getSupportActionBar().setDisplayShowTitleEnabled(true); 

    //Enable home button 
    getSupportActionBar().setHomeButtonEnabled(true); 

    //Home as up display 
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

    // getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 


    setBehindContentView(R.layout.menu_frame); 

    //SlidingMenu menu=getSlidingMenu(); 
    SlidingMenu menu=new SlidingMenu(this); 
    //menu = new SlidingMenu(MainActivity.this); 
    menu.setMode(SlidingMenu.LEFT); 
    menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN); 
    setSlidingActionBarEnabled(true); 
    menu.setShadowWidth(5); 
    menu.setFadeDegree(0.0f); 
    menu.attachToActivity(MainActivity.this, SlidingMenu.SLIDING_CONTENT); 
    menu.setBehindWidth(10); 
    menu.setBehindOffset(10); 
    menu.setBehindScrollScale(0.25f); 
    menu.setMenu(R.layout.menu_frame); 


} 
@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case android.R.id.home: 
     toggle(); 
     return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 


} 

답변

0

당신은 behindOffset, behindWidth 또는 touchModeAbove를 사용할 수 있습니다. 당신이보기로 사용하는 경우 당신은 (레이아웃 파일)이 작업을 수행 할 수 있습니다 :

sliding:behindOffset="@dimen/YOUR_OFFSET" 
sliding:behindWidth="@dimen/YOUR_WIDTH" 
sliding:touchModeAbove="margin" 

는 또한

touchModeAbove 설명 - 화면의 일부 때 위 만질 무엇인지 지정하는 열거 보기가 표시됩니다. 여백은 왼쪽 여백을 의미합니다. 전체 화면은 전체 화면을 의미합니다. 기본값은 여백입니다.

behindOffset - 뒤보기가 표시 될 때 위의보기로 표시 할 픽셀 수를 나타내는 크기입니다. 기본값은 0입니다.

behindWidth - 뒤보기의 너비를 나타내는 차원입니다. 기본값은 화면 폭입니다 (behindOffset = 0과 동일). 코드에서

+0

답장을 보내 주신 Mark에게 감사드립니다. 코드와 작업에서이 코드를 사용했습니다. – abhayd

-2

:

// SlidingMenu 메뉴 = getSlidingMenu();
SlidingMenu menu = 새로운 SlidingMenu (this);

//이 시간에 인스턴스화되지 않은 객체가 필요하기 때문에 첫 번째 줄을 // 삭제하십시오.

두 번째 줄을 모두 지우십시오. 두 번째 줄에 새 대상을 배치하지 않았 으면 참을 필요가 없습니다. .... 슬라이드 쇼 메뉴 개체가 원래대로 설정되면 이후의 내용보기가 설정됩니다.

나는이 문제를 해결하고 해결했습니다.

+1

아니야, 제발, 제발! –