2013-07-19 4 views
0

PlayStore의 SlidingMenu 데모 앱은 내 N7에서 아무런 문제없이 작동합니다. 하지만 내 컴퓨터에서 컴파일 할 때 ResposiveUI Activity에 다음과 같은 문제가 있습니다 : Portrait에서 SlidingMenu를 열고 Lanscape Mode로 방향을 변경하면 ... 반쪽 화면이 비어 있습니다! SlidingMenu의 ResponsiveUI에 빈 화면이 있습니다.

ResposiveUI in Portrait Mode ResponsiveUi in Landscape Mode

나는 저자에 의해 adviced here로 SherlockFragmentActivity을 확장 제외하고는 코드에서 아무 것도 변경하지 않은

.

+0

이 질문에 대한 답변을 제공하지 않지만 공식적인 구현 외에는 사용하지 말 것을 권합니다. 성능면에서도 훨씬 좋습니다. –

+0

좋은 생각 일 수 있지만 큰 화면에서 내용을 숨기지 않고 Navigation Drawer를 열어 둘 수는 없다고 생각합니다. SlidingMenu 않습니다. – 2t0m

+0

네, 맞습니다. 그래도 알지 못했습니다 :) –

답변

0

문제는 화면이 회전 할 때 SlidingMenu은 여전히 ​​열려 있다는 것입니다 그것을 수정할 수 있습니다. Instant Saving 상태를 저장하기 전에 닫으면 문제가 해결됩니다.

@Override 
    public void onSaveInstanceState(Bundle outState) { 
     showContent(); 
     super.onSaveInstanceState(outState); 
     getSupportFragmentManager().putFragment(outState, "mContent", mContent); 
    } 
0

반 빈 화면은 SlidingMenu 데모 소스 코드 70 행에 의해 표시됩니다.

https://github.com/jfeinstein10/SlidingMenu/blob/master/example/src/com/jeremyfeinstein/slidingmenu/example/fragments/ResponsiveUIActivity.java

당신은

 if (findViewById(R.id.menu_frame) == null) { 
      sm.setBehindOffsetRes(R.dimen.slidingmenu_offset); 
     else 
      sm.setBehindOffset(getScreenWidth()); 

getScreenWidth()

public int getScreenWidth() { 
      Display display = getWindowManager().getDefaultDisplay(); 
      DisplayMetrics metrics = new DisplayMetrics(); 
      display.getMetrics(metrics); 
      return metrics.widthPixels; 
    } 
+0

불행히도 이것은 내 문제를 해결하지 못합니다. – 2t0m