상태바에 반투명하게 보이는 Navigation Drawer 만들기
먼저 네비게이션 드로어를 적용하는 방법은 아래의 두 강좌를 보면 된다.
네비게이션 드로어에 머티리얼 디자인 적용하기 : http://androidhuman.com/559
여기까지 완료했는데, 드로어 최상단의 이미지가 상태바만큼 잘리고 있었다.
검색을 하루종일 한 결과, 구글에서 제공하는 ScrimInsetsFrameLayout을 Drawer의 rootView로 넣고,
그 안에 기존에 작성 해 두었던 드로어의 xml을 넣어주면 된다.
1. https://github.com/google/iosched/blob/master/android/src/main/java/com/google/samples/apps/iosched/ui/widget/ScrimInsetsFrameLayout.java
의 소스를 Android Studio에 추가한다. package는 물론 변경해준다.
2. 28번 라인 "import com.google.samples.apps.iosched.R;" 을 제거한다.
3. res/values/attr.xml 파일에 아래 내용을 추가한다. (파일이 없다면 새로 만든다.)
<declare-styleable name="ScrimInsetsView">
<attr name="insetForeground" format="reference|color" />
</declare-styleable>
4. 해당하는 Activity(또는 Fragment)의 onCreate(){}에 다음 내용을 추가한다.
mDrawerLayout.setStatusBarBackgroundColor(
getResources().getColor(R.color.primary_dark));
5. activity_main.xml의 Navigation Drawer 부분을 <com.example.my.packge.ScrimInsetsFrameLayout></com.example.my.packge.ScrimInsetsFrameLayout>
안으로 이동시킨다.
6. 겁나 잘된다.