From 409bebd5bc28a9f7a73704e563203fdb19295925 Mon Sep 17 00:00:00 2001 From: Somethingweirdhere <gtp@g.com> Date: Wed, 13 Jun 2018 22:35:20 +0200 Subject: [PATCH] Nav drawer now moves behind the status bar --- .../java/org/schabi/newpipe/MainActivity.java | 7 +- app/src/main/res/layout/activity_main.xml | 5 +- app/src/main/res/layout/drawer_header.xml | 55 ++++++++++++++ app/src/main/res/layout/drawer_layout.xml | 73 ++----------------- 4 files changed, 70 insertions(+), 70 deletions(-) create mode 100644 app/src/main/res/layout/drawer_header.xml diff --git a/app/src/main/java/org/schabi/newpipe/MainActivity.java b/app/src/main/java/org/schabi/newpipe/MainActivity.java index 159ba38d2..36f405d05 100644 --- a/app/src/main/java/org/schabi/newpipe/MainActivity.java +++ b/app/src/main/java/org/schabi/newpipe/MainActivity.java @@ -269,8 +269,11 @@ public class MainActivity extends AppCompatActivity { } private void setupDrawerHeader() { - headerServiceView = findViewById(R.id.drawer_header_service_view); - Button action = findViewById(R.id.drawer_header_action_button); + NavigationView navigationView = findViewById(R.id.navigation); + View hView = navigationView.getHeaderView(0); + + headerServiceView = hView.findViewById(R.id.drawer_header_service_view); + Button action = hView.findViewById(R.id.drawer_header_action_button); action.setOnClickListener(view -> { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse("https://newpipe.schabi.org/blog/")); diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 99c637389..b70d73250 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -4,7 +4,8 @@ xmlns:tools="http://schemas.android.com/tools" android:id="@+id/drawer_layout" android:layout_width="match_parent" - android:layout_height="match_parent"> + android:layout_height="match_parent" + android:fitsSystemWindows="true"> <FrameLayout @@ -23,4 +24,4 @@ <include layout="@layout/drawer_layout"/> -</android.support.v4.widget.DrawerLayout> \ No newline at end of file +</android.support.v4.widget.DrawerLayout> diff --git a/app/src/main/res/layout/drawer_header.xml b/app/src/main/res/layout/drawer_header.xml new file mode 100644 index 000000000..ff7e1cd40 --- /dev/null +++ b/app/src/main/res/layout/drawer_header.xml @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="utf-8"?> +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" +android:layout_width="wrap_content" +android:layout_height="150dp" +android:clickable="true" +android:focusable="true"> + + <Button + android:id="@+id/drawer_header_action_button" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:background="?android:attr/selectableItemBackground"/> + + <ImageView + android:layout_width="match_parent" + android:layout_height="match_parent" + android:background="?attr/colorPrimary" + android:src="@drawable/background_header" + android:scaleType="centerCrop"/> + + <ImageView + android:id="@+id/drawer_header_np_nude_view" + android:layout_marginLeft="30dp" + android:layout_marginStart="30dp" + android:layout_marginTop="20dp" + + android:layout_width="70dp" + android:layout_height="70dp" + android:src="@drawable/np_logo_nude_shadow"/> + + <TextView + android:id="@+id/drawer_header_np_text_view" + android:layout_width="wrap_content" + android:layout_height="0dp" + android:text="@string/app_name" + android:layout_toRightOf="@id/drawer_header_np_nude_view" + android:layout_toEndOf="@id/drawer_header_np_nude_view" + android:layout_alignTop="@id/drawer_header_np_nude_view" + android:layout_alignBottom="@id/drawer_header_np_nude_view" + android:gravity="center" + android:textSize="30dp" + android:textStyle="bold|italic"/> + + <TextView + android:id="@+id/drawer_header_service_view" + android:layout_width="100dp" + android:layout_height="100dp" + android:text="YouTube" + android:layout_below="@id/drawer_header_np_text_view" + android:layout_alignLeft="@id/drawer_header_np_text_view" + android:layout_alignStart="@id/drawer_header_np_text_view" + android:textSize="18dp" + android:textStyle="italic"/> + +</RelativeLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/drawer_layout.xml b/app/src/main/res/layout/drawer_layout.xml index 2eb3abe26..4732df719 100644 --- a/app/src/main/res/layout/drawer_layout.xml +++ b/app/src/main/res/layout/drawer_layout.xml @@ -1,81 +1,22 @@ <?xml version="1.0" encoding="utf-8"?> -<RelativeLayout android:id="@+id/navigation_layout" +<android.support.design.widget.NavigationView android:id="@+id/navigation_layout" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="match_parent" android:layout_width="wrap_content" android:layout_gravity="start" xmlns:app="http://schemas.android.com/apk/res-auto" - android:background="?attr/android:windowBackground" android:clickable="true" - android:focusable="true"> - - <RelativeLayout - android:id="@+id/drawer_header" - android:layout_width="0dp" - android:layout_height="150dp" - android:layout_alignLeft="@id/navigation" - android:layout_alignRight="@id/navigation" - android:layout_alignStart="@id/navigation" - android:layout_alignEnd="@id/navigation" - android:clickable="true" - android:focusable="true"> - - <Button - android:id="@+id/drawer_header_action_button" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:background="?android:attr/selectableItemBackground"/> - - <ImageView - android:layout_width="match_parent" - android:layout_height="match_parent" - android:background="?attr/colorPrimary" - android:src="@drawable/background_header" - android:scaleType="centerCrop"/> - - <ImageView - android:id="@+id/drawer_header_np_nude_view" - android:layout_marginLeft="30dp" - android:layout_marginStart="30dp" - android:layout_marginTop="20dp" - - android:layout_width="70dp" - android:layout_height="70dp" - android:src="@drawable/np_logo_nude_shadow"/> - - <TextView - android:id="@+id/drawer_header_np_text_view" - android:layout_width="wrap_content" - android:layout_height="0dp" - android:text="@string/app_name" - android:layout_toRightOf="@id/drawer_header_np_nude_view" - android:layout_toEndOf="@id/drawer_header_np_nude_view" - android:layout_alignTop="@id/drawer_header_np_nude_view" - android:layout_alignBottom="@id/drawer_header_np_nude_view" - android:gravity="center" - android:textSize="30dp" - android:textStyle="bold|italic"/> - - <TextView - android:id="@+id/drawer_header_service_view" - android:layout_width="100dp" - android:layout_height="100dp" - android:text="YouTube" - android:layout_below="@id/drawer_header_np_text_view" - android:layout_alignLeft="@id/drawer_header_np_text_view" - android:layout_alignStart="@id/drawer_header_np_text_view" - android:textSize="18dp" - android:textStyle="italic"/> - - </RelativeLayout> + android:focusable="true" + > <android.support.design.widget.NavigationView android:id="@+id/navigation" - android:layout_below="@id/drawer_header" android:layout_width="wrap_content" android:layout_height="wrap_content" - app:elevation="0dp"/> + app:elevation="0dp" + android:background="?attr/android:windowBackground" + app:headerLayout="@layout/drawer_header"/> <!-- app:menu="@menu/drawer_items" --> <LinearLayout @@ -91,4 +32,4 @@ android:layout_alignParentBottom="true"> </LinearLayout> -</RelativeLayout> \ No newline at end of file +</android.support.design.widget.NavigationView> \ No newline at end of file