add header/footer to drawer
| @@ -41,6 +41,8 @@ import android.view.Menu; | |||||||
| import android.view.MenuInflater; | import android.view.MenuInflater; | ||||||
| import android.view.MenuItem; | import android.view.MenuItem; | ||||||
| import android.view.View; | import android.view.View; | ||||||
|  | import android.widget.Button; | ||||||
|  | import android.widget.ImageButton; | ||||||
| import android.widget.Toast; | import android.widget.Toast; | ||||||
|  |  | ||||||
| import org.schabi.newpipe.extractor.StreamingService; | import org.schabi.newpipe.extractor.StreamingService; | ||||||
| @@ -79,6 +81,7 @@ public class MainActivity extends AppCompatActivity { | |||||||
|  |  | ||||||
|         setSupportActionBar(findViewById(R.id.toolbar)); |         setSupportActionBar(findViewById(R.id.toolbar)); | ||||||
|         setupDrawer(); |         setupDrawer(); | ||||||
|  |         setupDrawerFooter(); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     private void setupDrawer() { |     private void setupDrawer() { | ||||||
| @@ -123,6 +126,16 @@ public class MainActivity extends AppCompatActivity { | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     private void setupDrawerFooter() { | ||||||
|  |         ImageButton settings = findViewById(R.id.drawer_settings); | ||||||
|  |         ImageButton downloads = findViewById(R.id.drawer_downloads); | ||||||
|  |         ImageButton history = findViewById(R.id.drawer_history); | ||||||
|  |  | ||||||
|  |         settings.setOnClickListener(view -> NavigationHelper.openSettings(this) ); | ||||||
|  |         downloads.setOnClickListener(view -> NavigationHelper.openDownloads(this)); | ||||||
|  |         history.setOnClickListener(view -> NavigationHelper.openHistory(this)); | ||||||
|  |     } | ||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|     protected void onDestroy() { |     protected void onDestroy() { | ||||||
|         super.onDestroy(); |         super.onDestroy(); | ||||||
|   | |||||||
| @@ -1,6 +1,7 @@ | |||||||
| package org.schabi.newpipe.settings; | package org.schabi.newpipe.settings; | ||||||
|  |  | ||||||
| import android.os.Bundle; | import android.os.Bundle; | ||||||
|  | import android.support.v7.preference.Preference; | ||||||
|  |  | ||||||
| import org.schabi.newpipe.R; | import org.schabi.newpipe.R; | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										
											BIN
										
									
								
								app/src/main/res/drawable-hdpi/ic_settings_black_24dp.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 453 B | 
							
								
								
									
										
											BIN
										
									
								
								app/src/main/res/drawable-hdpi/ic_settings_white_24dp.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 460 B | 
							
								
								
									
										
											BIN
										
									
								
								app/src/main/res/drawable-mdpi/ic_settings_black_24dp.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 322 B | 
							
								
								
									
										
											BIN
										
									
								
								app/src/main/res/drawable-mdpi/ic_settings_white_24dp.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 326 B | 
							
								
								
									
										
											BIN
										
									
								
								app/src/main/res/drawable-xhdpi/ic_settings_black_24dp.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 557 B | 
							
								
								
									
										
											BIN
										
									
								
								app/src/main/res/drawable-xhdpi/ic_settings_white_24dp.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 562 B | 
							
								
								
									
										
											BIN
										
									
								
								app/src/main/res/drawable-xxhdpi/ic_settings_black_24dp.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 827 B | 
							
								
								
									
										
											BIN
										
									
								
								app/src/main/res/drawable-xxhdpi/ic_settings_white_24dp.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 843 B | 
							
								
								
									
										
											BIN
										
									
								
								app/src/main/res/drawable-xxxhdpi/ic_settings_black_24dp.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.0 KiB | 
							
								
								
									
										
											BIN
										
									
								
								app/src/main/res/drawable-xxxhdpi/ic_settings_white_24dp.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.0 KiB | 
| @@ -1,7 +1,6 @@ | |||||||
| <?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||||||
| <android.support.v4.widget.DrawerLayout | <android.support.v4.widget.DrawerLayout | ||||||
|     xmlns:android="http://schemas.android.com/apk/res/android" |     xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|     xmlns:app="http://schemas.android.com/apk/res-auto" |  | ||||||
|     xmlns:tools="http://schemas.android.com/tools" |     xmlns:tools="http://schemas.android.com/tools" | ||||||
|     android:id="@+id/drawer_layout" |     android:id="@+id/drawer_layout" | ||||||
|     android:layout_width="match_parent" |     android:layout_width="match_parent" | ||||||
| @@ -21,10 +20,6 @@ | |||||||
|         <include layout="@layout/toolbar_layout" /> |         <include layout="@layout/toolbar_layout" /> | ||||||
|     </FrameLayout> |     </FrameLayout> | ||||||
|  |  | ||||||
|     <android.support.design.widget.NavigationView |     <include layout="@layout/drawer_laoyut"/> | ||||||
|         android:id="@+id/navigation" |  | ||||||
|         android:layout_width="wrap_content" |  | ||||||
|         android:layout_height="match_parent" |  | ||||||
|         android:layout_gravity="start" |  | ||||||
|         app:menu="@menu/drawer_items" /> |  | ||||||
| </android.support.v4.widget.DrawerLayout> | </android.support.v4.widget.DrawerLayout> | ||||||
							
								
								
									
										65
									
								
								app/src/main/res/layout/drawer_laoyut.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,65 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <RelativeLayout 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"> | ||||||
|  |  | ||||||
|  |     <View | ||||||
|  |         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:background="?attr/colorPrimary"/> | ||||||
|  |  | ||||||
|  |     <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:menu="@menu/drawer_items" | ||||||
|  |         app:elevation="0dp"/> | ||||||
|  |  | ||||||
|  |     <LinearLayout | ||||||
|  |         android:id="@+id/navigation_drawer_footer" | ||||||
|  |         android:layout_width="0dp" | ||||||
|  |         android:layout_height="60dp" | ||||||
|  |         android:orientation="horizontal" | ||||||
|  |         android:layout_alignLeft="@id/navigation" | ||||||
|  |         android:layout_alignRight="@id/navigation" | ||||||
|  |         android:layout_alignStart="@id/navigation" | ||||||
|  |         android:layout_alignEnd="@id/navigation" | ||||||
|  |  | ||||||
|  |         android:layout_alignParentBottom="true"> | ||||||
|  |         <ImageButton | ||||||
|  |             android:id="@+id/drawer_settings" | ||||||
|  |             android:layout_width="0dp" | ||||||
|  |             android:layout_height="match_parent" | ||||||
|  |             android:layout_weight="1" | ||||||
|  |             android:background="?attr/selectableItemBackgroundBorderless" | ||||||
|  |             android:src="?attr/settings"/> | ||||||
|  |  | ||||||
|  |         <ImageButton | ||||||
|  |             android:id="@+id/drawer_downloads" | ||||||
|  |             android:layout_width="0dp" | ||||||
|  |             android:layout_height="match_parent" | ||||||
|  |             android:layout_weight="1" | ||||||
|  |             android:background="?attr/selectableItemBackgroundBorderless" | ||||||
|  |             android:src="?attr/download" /> | ||||||
|  |  | ||||||
|  |         <ImageButton | ||||||
|  |             android:id="@+id/drawer_history" | ||||||
|  |             android:layout_width="0dp" | ||||||
|  |             android:layout_height="match_parent" | ||||||
|  |             android:layout_weight="1" | ||||||
|  |             android:background="?attr/selectableItemBackgroundBorderless" | ||||||
|  |             android:src="?attr/history"/> | ||||||
|  |     </LinearLayout> | ||||||
|  |  | ||||||
|  | </RelativeLayout> | ||||||
| @@ -310,7 +310,7 @@ | |||||||
|                             android:layout_height="55dp" |                             android:layout_height="55dp" | ||||||
|                             android:layout_gravity="center_vertical" |                             android:layout_gravity="center_vertical" | ||||||
|                             android:layout_weight="1" |                             android:layout_weight="1" | ||||||
|                             android:background="?attr/selectableItemBackground" |                             android:background="?attr/selectableItemBackgroundBorderless" | ||||||
|                             android:clickable="true" |                             android:clickable="true" | ||||||
|                             android:focusable="true" |                             android:focusable="true" | ||||||
|                             android:contentDescription="@string/append_playlist" |                             android:contentDescription="@string/append_playlist" | ||||||
| @@ -327,7 +327,7 @@ | |||||||
|                             android:layout_height="55dp" |                             android:layout_height="55dp" | ||||||
|                             android:layout_gravity="center_vertical" |                             android:layout_gravity="center_vertical" | ||||||
|                             android:layout_weight="1" |                             android:layout_weight="1" | ||||||
|                             android:background="?attr/selectableItemBackground" |                             android:background="?attr/selectableItemBackgroundBorderless" | ||||||
|                             android:clickable="true" |                             android:clickable="true" | ||||||
|                             android:focusable="true" |                             android:focusable="true" | ||||||
|                             android:contentDescription="@string/play_audio" |                             android:contentDescription="@string/play_audio" | ||||||
| @@ -344,7 +344,7 @@ | |||||||
|                             android:layout_height="55dp" |                             android:layout_height="55dp" | ||||||
|                             android:layout_gravity="center_vertical" |                             android:layout_gravity="center_vertical" | ||||||
|                             android:layout_weight="1" |                             android:layout_weight="1" | ||||||
|                             android:background="?attr/selectableItemBackground" |                             android:background="?attr/selectableItemBackgroundBorderless" | ||||||
|                             android:clickable="true" |                             android:clickable="true" | ||||||
|                             android:focusable="true" |                             android:focusable="true" | ||||||
|                             android:contentDescription="@string/open_in_popup_mode" |                             android:contentDescription="@string/open_in_popup_mode" | ||||||
| @@ -361,7 +361,7 @@ | |||||||
|                             android:layout_height="55dp" |                             android:layout_height="55dp" | ||||||
|                             android:layout_gravity="center_vertical" |                             android:layout_gravity="center_vertical" | ||||||
|                             android:layout_weight="1" |                             android:layout_weight="1" | ||||||
|                             android:background="?attr/selectableItemBackground" |                             android:background="?attr/selectableItemBackgroundBorderless" | ||||||
|                             android:clickable="true" |                             android:clickable="true" | ||||||
|                             android:focusable="true" |                             android:focusable="true" | ||||||
|                             android:contentDescription="@string/controls_download_desc" |                             android:contentDescription="@string/controls_download_desc" | ||||||
|   | |||||||
| @@ -25,6 +25,7 @@ | |||||||
|     <attr name="search_add" format="reference"/> |     <attr name="search_add" format="reference"/> | ||||||
|     <attr name="options" format="reference"/> |     <attr name="options" format="reference"/> | ||||||
|     <attr name="play" format="reference"/> |     <attr name="play" format="reference"/> | ||||||
|  |     <attr name="settings" format="reference"/> | ||||||
|     <attr name="ic_hot" format="reference"/> |     <attr name="ic_hot" format="reference"/> | ||||||
|     <attr name="ic_channel" format="reference"/> |     <attr name="ic_channel" format="reference"/> | ||||||
|     <attr name="ic_bookmark" format="reference"/> |     <attr name="ic_bookmark" format="reference"/> | ||||||
| @@ -39,4 +40,6 @@ | |||||||
|     <attr name="separator_color" format="color"/> |     <attr name="separator_color" format="color"/> | ||||||
|     <attr name="queue_background_color" format="color"/> |     <attr name="queue_background_color" format="color"/> | ||||||
|     <attr name="contrast_background_color" format="color"/> |     <attr name="contrast_background_color" format="color"/> | ||||||
|  |     <attr name="windowBackground" format="color"/> | ||||||
|  |     <attr name="colorPrimary" format="color"/> | ||||||
| </resources> | </resources> | ||||||
| @@ -15,6 +15,7 @@ | |||||||
|         <item name="colorPrimaryDark">@color/light_youtube_dark_color</item> |         <item name="colorPrimaryDark">@color/light_youtube_dark_color</item> | ||||||
|         <item name="colorAccent">@color/light_youtube_accent_color</item> |         <item name="colorAccent">@color/light_youtube_accent_color</item> | ||||||
|         <item name="android:windowBackground">@color/light_background_color</item> |         <item name="android:windowBackground">@color/light_background_color</item> | ||||||
|  |         <item name="windowBackground">@color/light_background_color</item> | ||||||
|  |  | ||||||
|         <item name="thumbs_up">@drawable/ic_thumb_up_black_24dp</item> |         <item name="thumbs_up">@drawable/ic_thumb_up_black_24dp</item> | ||||||
|         <item name="thumbs_down">@drawable/ic_thumb_down_black_24dp</item> |         <item name="thumbs_down">@drawable/ic_thumb_down_black_24dp</item> | ||||||
| @@ -40,6 +41,7 @@ | |||||||
|         <item name="search_add">@drawable/ic_arrow_top_left_black_24dp</item> |         <item name="search_add">@drawable/ic_arrow_top_left_black_24dp</item> | ||||||
|         <item name="options">@drawable/ic_more_vert_black_24dp</item> |         <item name="options">@drawable/ic_more_vert_black_24dp</item> | ||||||
|         <item name="play">@drawable/ic_play_arrow_black_24dp</item> |         <item name="play">@drawable/ic_play_arrow_black_24dp</item> | ||||||
|  |         <item name="settings">@drawable/ic_settings_black_24dp</item> | ||||||
|         <item name="ic_hot">@drawable/ic_whatshot_black_24dp</item> |         <item name="ic_hot">@drawable/ic_whatshot_black_24dp</item> | ||||||
|         <item name="ic_channel">@drawable/ic_channel_black_24dp</item> |         <item name="ic_channel">@drawable/ic_channel_black_24dp</item> | ||||||
|         <item name="ic_bookmark">@drawable/ic_bookmark_black_24dp</item> |         <item name="ic_bookmark">@drawable/ic_bookmark_black_24dp</item> | ||||||
| @@ -66,6 +68,7 @@ | |||||||
|         <item name="colorPrimaryDark">@color/dark_youtube_dark_color</item> |         <item name="colorPrimaryDark">@color/dark_youtube_dark_color</item> | ||||||
|         <item name="colorAccent">@color/dark_youtube_accent_color</item> |         <item name="colorAccent">@color/dark_youtube_accent_color</item> | ||||||
|         <item name="android:windowBackground">@color/dark_background_color</item> |         <item name="android:windowBackground">@color/dark_background_color</item> | ||||||
|  |         <item name="windowBackground">@color/dark_background_color</item> | ||||||
|  |  | ||||||
|         <item name="thumbs_up">@drawable/ic_thumb_up_white_24dp</item> |         <item name="thumbs_up">@drawable/ic_thumb_up_white_24dp</item> | ||||||
|         <item name="thumbs_down">@drawable/ic_thumb_down_white_24dp</item> |         <item name="thumbs_down">@drawable/ic_thumb_down_white_24dp</item> | ||||||
| @@ -91,6 +94,7 @@ | |||||||
|         <item name="search_add">@drawable/ic_arrow_top_left_white_24dp</item> |         <item name="search_add">@drawable/ic_arrow_top_left_white_24dp</item> | ||||||
|         <item name="options">@drawable/ic_more_vert_white_24dp</item> |         <item name="options">@drawable/ic_more_vert_white_24dp</item> | ||||||
|         <item name="play">@drawable/ic_play_arrow_white_24dp</item> |         <item name="play">@drawable/ic_play_arrow_white_24dp</item> | ||||||
|  |         <item name="settings">@drawable/ic_settings_white_24dp</item> | ||||||
|         <item name="ic_hot">@drawable/ic_whatshot_white_24dp</item> |         <item name="ic_hot">@drawable/ic_whatshot_white_24dp</item> | ||||||
|         <item name="ic_channel">@drawable/ic_channel_white_24dp</item> |         <item name="ic_channel">@drawable/ic_channel_white_24dp</item> | ||||||
|         <item name="ic_bookmark">@drawable/ic_bookmark_white_24dp</item> |         <item name="ic_bookmark">@drawable/ic_bookmark_white_24dp</item> | ||||||
| @@ -114,6 +118,7 @@ | |||||||
|  |  | ||||||
|     <style name="BlackTheme" parent="DarkTheme"> |     <style name="BlackTheme" parent="DarkTheme"> | ||||||
|         <item name="android:windowBackground">@color/black_background_color</item> |         <item name="android:windowBackground">@color/black_background_color</item> | ||||||
|  |         <item name="windowBackground">@color/black_background_color</item> | ||||||
|  |  | ||||||
|         <item name="separator_color">@color/black_separator_color</item> |         <item name="separator_color">@color/black_separator_color</item> | ||||||
|         <item name="contrast_background_color">@color/black_contrast_background_color</item> |         <item name="contrast_background_color">@color/black_contrast_background_color</item> | ||||||
|   | |||||||
 Christian Schabesberger
					Christian Schabesberger