2014-11-21 1 views
0

내 재료 디자인 영향 앱 (Appcompat v21)에 탐색 드로어를 구현하려고합니다. 내가 거기에 무슨 짓을했는지내비게이션 서랍이 제대로 작동하지 않음 - 항상 전체 화면

enter image description here

당신은 조금 확대 할 수 말할 할 수 있도록 :

  1. 루트보기

    그러므로 난 그냥 기본적인 XML 파일을 만들었습니다 android.support.v4.widget.DrawerLayout 그 자체입니다

  2. 첫 번째 자식이 여기에 간단한 선형 LineoutLayout으로
  3. 두 번째 자식 d - 서랍 자체는 - 간단한 목록보기, 240dp 너비입니다.

주 콘텐츠보기에 그렇게 했으므로 배경이 분홍색이어야합니다. 목록보기는 파란색이어야합니다. 이제 미리보기 창에서 오른쪽에서 볼 수 있듯이 전체 화면이 listView 대신 파란색으로 바뀝니다.

내 문제는 어디에 있습니까? 나는 listview에게 240dp 너비로만, 부모와 일치하지 말라고했다. 응용 프로그램을 실행하려고하면 서랍이 절대로 "닫히지"않습니다. 즉, 목록이 주 콘텐츠보기 상단에 있음을 의미합니다.

프로그램에서 DrawerLayout이 무엇인지 알지 못하고 주 콘텐츠 레이아웃에 콘텐츠를 그려 넣는 것처럼 보이지 않습니다.

왜 이번에는 작동하지 않을지 알 수 없습니다.

제안 사항?

편집 : TestActivity는 :

public class TestActivity extends Activity { 

DrawerLayout drawerLayout; 
ListView listView; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_test); 

    drawerLayout = (DrawerLayout)findViewById(R.id.test_drawer_layout); 
    listView = (ListView)findViewById(R.id.test_left_drawer); 

} 
} 
+0

LinearLayout 대신 FrameLayout을 사용할 때도 같은 결과가 나타 납니까? – Rami

+0

그냥 테스트 : 예 FrameLayout을 사용하여 동일한 문제가 발생했습니다.툴바를 사용하고 있기 때문에 주제에서 'windowActionBar'를 비활성화했다는 것을 언급 할 가치가 있습니다. 그러나 이것이 문제가 아니어야한다고 생각합니다. – user2410644

+0

당신은 활동 코드를 게시 할 수 있습니까? – Rami

답변

1

카세트 안에 표시하는 뷰 (이 경우, ListView)는 android:layout_gravity="start" 속성을 설정해야한다. documentation 가입일

:

서랍의 위치와 배치는 사용자가 서랍에서 등장 할 전망되는 측에 대응하는 아이 뷰에 android:layout_gravity 특성을 이용하여 제어된다 좌우. (또는 레이아웃 방향을 지원하는 플랫폼 버전/끝. 시작)

DrawerLayout를 사용하려면, match_parent의 폭과 높이 처음 자식으로 기본 콘텐츠 뷰를 배치합니다. 서랍을 주 콘텐츠보기 후에 하위 뷰에 추가하고 layout_gravity 을 적절하게 설정하십시오. 서랍은 일반적으로 고정 너비로 ​​높이에 match_parent을 사용합니다.

+0

고마워, 그것을 확인하십시오. 어떻게 내가 그걸 감독 할 수 있니 ... 고마워! – user2410644

관련 문제