2014-02-25 9 views
2

저는 오프라인 안드로이드 라이브러리가 제공하는 탐색 서랍에서 작업 중입니다. 그리고 난 왼쪽에서 그것을 신속하게, 문제는 기본적으로 트리거 영역이 너무 작습니다, 사용자가 서랍을 열려면 매우 왼쪽에 만져, 사용자 정의 크기에 어떤 방법이 있습니까, 또는 크기를 확대? 도와 줘서 고맙다.Android 탐색 서랍 트리거 영역이 너무 작습니다.

+0

다음 링크를 참조하십시오. http : //www.androidhive.info/2013/11/android-sliding-menu-using-navigation-drawer/ – Angel

답변

2

당신은 같은 것을 할 수 있습니다

private void setLeftMargin() { 
    java.lang.reflect.Field mDragger = null; 
    try { 
     mDragger = mDrawerLayout.getClass() 
       .getDeclaredField("mLeftDragger"); 
    } catch (NoSuchFieldException e2) { 
     // TODO Auto-generated catch block 
     e2.printStackTrace(); 
    } 
    mDragger.setAccessible(true); 
    ViewDragHelper draggerObj = null; 
    try { 
     draggerObj = (ViewDragHelper) mDragger.get(mDrawerLayout); 
    } catch (IllegalArgumentException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (IllegalAccessException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

    java.lang.reflect.Field mEdgeSize = null; 
    try { 
     mEdgeSize = draggerObj.getClass().getDeclaredField("mEdgeSize"); 
    } catch (NoSuchFieldException e1) { 
     // TODO Auto-generated catch block 
     e1.printStackTrace(); 
    } 
    mEdgeSize.setAccessible(true); 
    int edge = 0; 
    try { 
     edge = mEdgeSize.getInt(draggerObj); 
    } catch (IllegalArgumentException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (IllegalAccessException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

    try { 
     mEdgeSize.setInt(draggerObj, edge * 1); 
    } catch (IllegalArgumentException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (IllegalAccessException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
} 

그것은 int edge = valueYouNeed; 그것은 당신을 도울 것입니다 희망 설정할 수 있습니다 requirement.You에 따라 왼쪽 영역을 설정합니다.

+0

이 기능을 사용하는 방법에 대해 설명해 주시겠습니까? drawlayout을 확장해야하고 인스턴스를 만든 후에 이것을 호출해야합니까? – user782104

+0

DrawerLayout의 인스턴스를 만든 후에이 메서드를 호출해야합니다. – AndiM