diff --git a/app/build.gradle b/app/build.gradle
index 266f7fadb..536d304c8 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -32,10 +32,10 @@ android {
 
 dependencies {
     testCompile 'junit:junit:4.12'
-    compile 'com.android.support:appcompat-v7:25.1.0'
-    compile 'com.android.support:support-v4:25.1.0'
-    compile 'com.android.support:design:25.1.0'
-    compile 'com.android.support:recyclerview-v7:25.1.0'
+    compile 'com.android.support:appcompat-v7:25.0.0'
+    compile 'com.android.support:support-v4:25.0.0'
+    compile 'com.android.support:design:25.0.0'
+    compile 'com.android.support:recyclerview-v7:25.0.0'
     compile 'org.jsoup:jsoup:1.8.3'
     compile 'org.mozilla:rhino:1.7.7'
     compile 'info.guardianproject.netcipher:netcipher:1.2'
diff --git a/app/src/main/java/org/schabi/newpipe/MainActivity.java b/app/src/main/java/org/schabi/newpipe/MainActivity.java
index 2e94443f9..9472d5903 100644
--- a/app/src/main/java/org/schabi/newpipe/MainActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/MainActivity.java
@@ -47,7 +47,6 @@ public class MainActivity extends Themer {
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);
-
         setVolumeControlStream(AudioManager.STREAM_MUSIC);
         mainFragment = getSupportFragmentManager()
                 .findFragmentById(R.id.search_fragment);
diff --git a/app/src/main/java/org/schabi/newpipe/Themer.java b/app/src/main/java/org/schabi/newpipe/Themer.java
index 07a9f89a4..048837cec 100644
--- a/app/src/main/java/org/schabi/newpipe/Themer.java
+++ b/app/src/main/java/org/schabi/newpipe/Themer.java
@@ -2,19 +2,20 @@ package org.schabi.newpipe;
 
 import android.os.Bundle;
 import android.preference.PreferenceManager;
-import android.support.annotation.Nullable;
 import android.support.v7.app.AppCompatActivity;
 
 import java.util.Objects;
 
+import static org.schabi.newpipe.R.attr.theme;
+
 public class Themer extends AppCompatActivity {
 
     @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
+    protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         if (Objects.equals(PreferenceManager.getDefaultSharedPreferences(this)
-                .getString("theme", "1"), "0")) {
+                .getString("theme", getResources().getString(R.string.light_theme_title)), getResources().getString(R.string.dark_theme_title))) {
             setTheme(R.style.DarkTheme);
         }
     }
-}
+}
\ No newline at end of file
diff --git a/app/src/main/java/org/schabi/newpipe/detail/VideoItemDetailFragment.java b/app/src/main/java/org/schabi/newpipe/detail/VideoItemDetailFragment.java
index a93f37654..98620b15d 100644
--- a/app/src/main/java/org/schabi/newpipe/detail/VideoItemDetailFragment.java
+++ b/app/src/main/java/org/schabi/newpipe/detail/VideoItemDetailFragment.java
@@ -21,6 +21,7 @@ import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.Menu;
 import android.view.MenuInflater;
+import android.view.MenuItem;
 import android.view.MotionEvent;
 import android.view.View;
 import android.view.ViewGroup;
@@ -30,7 +31,6 @@ import android.widget.LinearLayout;
 import android.widget.ProgressBar;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
-import android.view.MenuItem;
 import android.widget.Toast;
 
 import com.google.android.exoplayer.util.Util;
@@ -39,26 +39,26 @@ import com.nostra13.universalimageloader.core.ImageLoader;
 import com.nostra13.universalimageloader.core.assist.FailReason;
 import com.nostra13.universalimageloader.core.listener.ImageLoadingListener;
 
-import java.util.Vector;
-
 import org.schabi.newpipe.ActivityCommunicator;
 import org.schabi.newpipe.ChannelActivity;
-import org.schabi.newpipe.ReCaptchaActivity;
-import org.schabi.newpipe.extractor.stream_info.StreamInfo;
-import org.schabi.newpipe.extractor.stream_info.StreamPreviewInfo;
-import org.schabi.newpipe.info_list.InfoItemBuilder;
-import org.schabi.newpipe.report.ErrorActivity;
 import org.schabi.newpipe.ImageErrorLoadingListener;
 import org.schabi.newpipe.Localization;
 import org.schabi.newpipe.R;
+import org.schabi.newpipe.ReCaptchaActivity;
 import org.schabi.newpipe.download.DownloadDialog;
-import org.schabi.newpipe.extractor.stream_info.AudioStream;
 import org.schabi.newpipe.extractor.MediaFormat;
 import org.schabi.newpipe.extractor.NewPipe;
+import org.schabi.newpipe.extractor.stream_info.AudioStream;
+import org.schabi.newpipe.extractor.stream_info.StreamInfo;
+import org.schabi.newpipe.extractor.stream_info.StreamPreviewInfo;
 import org.schabi.newpipe.extractor.stream_info.VideoStream;
+import org.schabi.newpipe.info_list.InfoItemBuilder;
 import org.schabi.newpipe.player.BackgroundPlayer;
-import org.schabi.newpipe.player.PlayVideoActivity;
 import org.schabi.newpipe.player.ExoPlayerActivity;
+import org.schabi.newpipe.player.PlayVideoActivity;
+import org.schabi.newpipe.report.ErrorActivity;
+
+import java.util.Vector;
 
 import static android.app.Activity.RESULT_OK;
 import static org.schabi.newpipe.ReCaptchaActivity.RECAPTCHA_REQUEST;
@@ -650,7 +650,6 @@ public class VideoItemDetailFragment extends Fragment {
     public void onStart() {
         super.onStart();
         Activity a = getActivity();
-
         infoItemBuilder = new InfoItemBuilder(a, a.findViewById(android.R.id.content));
 
         if (android.os.Build.VERSION.SDK_INT < 18) {
diff --git a/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java b/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java
index 98e4eddd7..2f77cadb2 100644
--- a/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java
@@ -13,6 +13,7 @@ import android.os.IBinder;
 import android.preference.PreferenceManager;
 import android.support.v4.app.NavUtils;
 import android.support.v7.app.ActionBar;
+import android.support.v7.app.AppCompatActivity;
 import android.support.v7.widget.Toolbar;
 import android.view.LayoutInflater;
 import android.view.Menu;
@@ -27,9 +28,9 @@ import android.widget.SeekBar;
 import android.widget.TextView;
 import android.widget.Toast;
 
-import org.schabi.newpipe.R;
 import org.schabi.newpipe.Themer;
 import org.schabi.newpipe.report.ErrorActivity;
+import org.schabi.newpipe.R;
 import org.schabi.newpipe.settings.SettingsActivity;
 
 import java.io.File;
diff --git a/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java b/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java
index 9ca0490d4..be4dbfc03 100644
--- a/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java
@@ -47,8 +47,8 @@ public class SettingsActivity extends PreferenceActivity  {
     @Override
     protected void onCreate(Bundle savedInstanceBundle) {
         if (Objects.equals(PreferenceManager.getDefaultSharedPreferences(this)
-                .getString("theme", "1"), "0")) {
-            setTheme(R.style.DarkTheme);
+                .getString("theme", getResources().getString(R.string.light_theme_title)), getResources().getString(R.string.dark_theme_title))) {
+                setTheme(R.style.DarkTheme);
         }
         getDelegate().installViewFactory();
         getDelegate().onCreate(savedInstanceBundle);
diff --git a/app/src/main/java/org/schabi/newpipe/settings/SettingsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/SettingsFragment.java
index c9c7fe134..0e7e6bb0a 100644
--- a/app/src/main/java/org/schabi/newpipe/settings/SettingsFragment.java
+++ b/app/src/main/java/org/schabi/newpipe/settings/SettingsFragment.java
@@ -21,6 +21,7 @@ import org.schabi.newpipe.App;
 import org.schabi.newpipe.R;
 
 import java.util.ArrayList;
+import java.util.Objects;
 
 import info.guardianproject.netcipher.proxy.OrbotHelper;
 
@@ -67,7 +68,7 @@ public class SettingsFragment  extends PreferenceFragment
     private Preference downloadPathAudioPreference;
     private Preference themePreference;
     private SharedPreferences defaultPreferences;
-
+    private Preference themePreference;
 
     @Override
     public void onCreate(final Bundle savedInstanceState) {
@@ -86,6 +87,7 @@ public class SettingsFragment  extends PreferenceFragment
         DOWNLOAD_PATH_AUDIO_PREFERENCE = getString(R.string.download_path_audio_key);
         THEME = getString(R.string.theme_key);
         USE_TOR_KEY = getString(R.string.use_tor_key);
+        THEME = getString(R.string.theme_key);
 
         // get pref objects
         defaultResolutionPreference =
diff --git a/app/src/main/res/drawable-nodpi/thumbs_down.png b/app/src/main/res/drawable-nodpi/thumbs_down.png
deleted file mode 100644
index 23c0f0487..000000000
Binary files a/app/src/main/res/drawable-nodpi/thumbs_down.png and /dev/null differ
diff --git a/app/src/main/res/drawable-nodpi/thumbs_up.png b/app/src/main/res/drawable-nodpi/thumbs_up.png
deleted file mode 100644
index 1fdd2293f..000000000
Binary files a/app/src/main/res/drawable-nodpi/thumbs_up.png and /dev/null differ
diff --git a/app/src/main/res/drawable/splash_screen.xml b/app/src/main/res/drawable/splash_screen.xml
index 96edac61b..e049c2941 100644
--- a/app/src/main/res/drawable/splash_screen.xml
+++ b/app/src/main/res/drawable/splash_screen.xml
@@ -2,7 +2,7 @@
 <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
 
     <item
-        android:drawable="@color/light_background_color"/>
+        android:drawable="?android:attr/windowBackground"/>
 
     <item>
         <bitmap
diff --git a/app/src/main/res/layout-v18/fragment_videoitem_detail.xml b/app/src/main/res/layout-v18/fragment_videoitem_detail.xml
index 41ec45cee..6654f6c63 100644
--- a/app/src/main/res/layout-v18/fragment_videoitem_detail.xml
+++ b/app/src/main/res/layout-v18/fragment_videoitem_detail.xml
@@ -1,20 +1,20 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    tools:context=".detail.VideoItemDetailFragment"
-    android:textIsSelectable="true"
-    style="?android:attr/textAppearanceLarge"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:id="@+id/video_item_detail">
+                xmlns:tools="http://schemas.android.com/tools"
+                xmlns:app="http://schemas.android.com/apk/res-auto"
+                tools:context=".detail.VideoItemDetailFragment"
+                android:textIsSelectable="true"
+                style="?android:attr/textAppearanceLarge"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:id="@+id/video_item_detail">
 
     <ProgressBar android:id="@+id/detail_progress_bar"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_centerInParent="true"
-        android:indeterminate="true"/>
+                 android:layout_width="wrap_content"
+                 android:layout_height="wrap_content"
+                 android:layout_centerInParent="true"
+                 android:indeterminate="true"/>
 
     <com.nirhart.parallaxscroll.views.ParallaxScrollView
         android:id="@+id/detail_main_content"
@@ -35,24 +35,24 @@
                 android:background="?attr/selectableItemBackground">
 
                 <ImageView android:id="@+id/detail_thumbnail_view"
-                    android:contentDescription="@string/detail_thumbnail_view_description"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:scaleType="fitCenter"
-                    android:adjustViewBounds="true"
-                    android:layout_alignParentLeft="true"
-                    android:layout_alignParentStart="true"
-                    android:layout_alignParentTop="true"
-                    android:background="@android:color/black"
-                    android:src="@drawable/dummy_thumbnail_dark"/>
+                           android:contentDescription="@string/detail_thumbnail_view_description"
+                           android:layout_width="match_parent"
+                           android:layout_height="wrap_content"
+                           android:scaleType="fitCenter"
+                           android:adjustViewBounds="true"
+                           android:layout_alignParentLeft="true"
+                           android:layout_alignParentStart="true"
+                           android:layout_alignParentTop="true"
+                           android:background="@android:color/black"
+                           android:src="@drawable/dummy_thumbnail_dark"/>
 
                 <ImageView android:id="@+id/play_arrow_view"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:background="@android:color/transparent"
-                    android:layout_centerInParent="true"
-                    android:src="@drawable/new_play_arrow"
-                    android:visibility="invisible"/>
+                           android:layout_width="wrap_content"
+                           android:layout_height="wrap_content"
+                           android:background="@android:color/transparent"
+                           android:layout_centerInParent="true"
+                           android:src="@drawable/new_play_arrow"
+                           android:visibility="invisible"/>
 
                 <Button
                     android:id="@+id/detail_stream_thumbnail_window_background_button"
@@ -63,10 +63,11 @@
             </RelativeLayout>
 
             <RelativeLayout android:id="@+id/detail_text_content_layout"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_below="@id/detail_stream_thumbnail_window_layout"
-                android:visibility="gone">
+                            android:layout_width="match_parent"
+                            android:layout_height="match_parent"
+                            android:layout_below="@id/detail_stream_thumbnail_window_layout"
+                            android:background="?android:windowBackground"
+                            android:visibility="gone">
 
                 <LinearLayout
                     android:layout_width="match_parent"
@@ -74,15 +75,15 @@
                     android:id="@+id/detailTopView">
 
                     <TextView android:id="@+id/detail_video_title_view"
-                        android:layout_width="0dp"
-                        android:layout_weight=".7"
-                        android:layout_height="wrap_content"
-                        android:textSize="@dimen/video_item_detail_title_text_size"
-                        android:textAppearance="?android:attr/textAppearanceLarge"
-                        android:layout_marginTop="12dp"
-                        android:layout_marginLeft="12dp"
-                        android:layout_marginStart="12dp"
-                        android:text="Title"/>
+                              android:layout_width="0dp"
+                              android:layout_weight=".7"
+                              android:layout_height="wrap_content"
+                              android:textSize="@dimen/video_item_detail_title_text_size"
+                              android:textAppearance="?android:attr/textAppearanceLarge"
+                              android:layout_marginTop="12dp"
+                              android:layout_marginLeft="12dp"
+                              android:layout_marginStart="12dp"
+                              android:text="Title"/>
 
                     <ImageView
                         android:layout_width="15dp"
@@ -98,17 +99,17 @@
                 </LinearLayout>
 
                 <TextView android:id="@+id/detail_view_count_view"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:textSize="@dimen/video_item_detail_views_text_size"
-                    android:textAppearance="?android:attr/textAppearanceLarge"
-                    android:layout_marginLeft="12dp"
-                    android:layout_marginStart="12dp"
-                    android:text="10,069,948 views"
-                    android:layout_below="@id/detailTopView"
-                    android:layout_alignParentLeft="true"
-                    android:layout_alignParentStart="true"
-                    android:layout_marginTop="5dp" />
+                          android:layout_width="match_parent"
+                          android:layout_height="wrap_content"
+                          android:textSize="@dimen/video_item_detail_views_text_size"
+                          android:textAppearance="?android:attr/textAppearanceLarge"
+                          android:layout_marginLeft="12dp"
+                          android:layout_marginStart="12dp"
+                          android:text="10,069,948 views"
+                          android:layout_below="@id/detailTopView"
+                          android:layout_alignParentLeft="true"
+                          android:layout_alignParentStart="true"
+                          android:layout_marginTop="5dp" />
 
                 <RelativeLayout
                     android:layout_width="match_parent"
@@ -121,21 +122,21 @@
                     android:layout_marginEnd="12dp"
                     android:visibility="gone">
                     <TextView android:id="@+id/detail_upload_date_view"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:textSize="@dimen/video_item_detail_upload_date_text_size"
-                        android:textAppearance="?android:attr/textAppearanceMedium"
-                        android:text="Upload date"
-                        android:layout_marginTop="3dp" />
+                              android:layout_width="wrap_content"
+                              android:layout_height="wrap_content"
+                              android:textSize="@dimen/video_item_detail_upload_date_text_size"
+                              android:textAppearance="?android:attr/textAppearanceMedium"
+                              android:text="Upload date"
+                              android:layout_marginTop="3dp" />
 
                     <TextView android:id="@+id/detail_description_view"
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:textSize="@dimen/video_item_detail_description_text_size"
-                        android:textAppearance="?android:attr/textAppearanceMedium"
-                        android:layout_below="@id/detail_upload_date_view"
-                        android:text="Description............."
-                        android:layout_marginTop="3dp" />
+                              android:layout_width="match_parent"
+                              android:layout_height="wrap_content"
+                              android:textSize="@dimen/video_item_detail_description_text_size"
+                              android:textAppearance="?android:attr/textAppearanceMedium"
+                              android:layout_below="@id/detail_upload_date_view"
+                              android:text="Description............."
+                              android:layout_marginTop="3dp" />
                 </RelativeLayout>
 
                 <LinearLayout
@@ -149,32 +150,32 @@
                     android:layout_alignParentEnd="true"
                     android:layout_marginTop="5dp">
                     <ImageView android:id="@+id/detail_thumbs_up_img_view"
-                        android:contentDescription="@string/detail_likes_img_view_description"
-                        android:layout_width="@dimen/video_item_detail_like_image_width"
-                        android:layout_height="@dimen/video_item_detail_like_image_height"
-                        android:src="@drawable/thumbs_up" />
+                               android:contentDescription="@string/detail_likes_img_view_description"
+                               android:layout_width="@dimen/video_item_detail_like_image_width"
+                               android:layout_height="@dimen/video_item_detail_like_image_height"
+                               android:src="?attr/thumbs_up"/>
 
                     <TextView android:id="@+id/detail_thumbs_up_count_view"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:textSize="@dimen/video_item_detail_likes_text_size"
-                        android:textAppearance="?android:attr/textAppearanceMedium"
-                        android:text="200" />
+                              android:layout_width="wrap_content"
+                              android:layout_height="wrap_content"
+                              android:textSize="@dimen/video_item_detail_likes_text_size"
+                              android:textAppearance="?android:attr/textAppearanceMedium"
+                              android:text="200" />
 
                     <ImageView android:id="@+id/detail_thumbs_down_img_view"
-                        android:contentDescription="@string/detail_dislikes_img_view_description"
-                        android:layout_width="@dimen/video_item_detail_like_image_width"
-                        android:layout_height="@dimen/video_item_detail_like_image_height"
-                        android:src="@drawable/thumbs_down"
-                        android:layout_marginLeft="10dp"
-                        android:layout_marginStart="10dp"/>
+                               android:contentDescription="@string/detail_dislikes_img_view_description"
+                               android:layout_width="@dimen/video_item_detail_like_image_width"
+                               android:layout_height="@dimen/video_item_detail_like_image_height"
+                               android:src="?attr/thumbs_down"
+                               android:layout_marginLeft="10dp"
+                               android:layout_marginStart="10dp"/>
 
                     <TextView android:id="@+id/detail_thumbs_down_count_view"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:textSize="@dimen/video_item_detail_likes_text_size"
-                        android:textAppearance="?android:attr/textAppearanceMedium"
-                        android:text="100" />
+                              android:layout_width="wrap_content"
+                              android:layout_height="wrap_content"
+                              android:textSize="@dimen/video_item_detail_likes_text_size"
+                              android:textAppearance="?android:attr/textAppearanceMedium"
+                              android:text="100" />
                 </LinearLayout>
 
                 <FrameLayout
@@ -207,17 +208,17 @@
                             android:layout_marginBottom="5dp"/>
 
                         <TextView android:id="@+id/detail_uploader_view"
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:textStyle="bold"
-                            android:textSize="@dimen/video_item_detail_uploader_text_size"
-                            android:textAppearance="?android:attr/textAppearanceLarge"
-                            android:text="Uploader"
-                            android:layout_centerVertical="true"
-                            android:layout_toRightOf="@+id/detail_uploader_thumbnail_view"
-                            android:layout_toEndOf="@+id/detail_uploader_thumbnail_view"
-                            android:layout_marginLeft="15dp"
-                            android:layout_marginStart="28dp" />
+                                  android:layout_width="wrap_content"
+                                  android:layout_height="wrap_content"
+                                  android:textStyle="bold"
+                                  android:textSize="@dimen/video_item_detail_uploader_text_size"
+                                  android:textAppearance="?android:attr/textAppearanceLarge"
+                                  android:text="Uploader"
+                                  android:layout_centerVertical="true"
+                                  android:layout_toRightOf="@+id/detail_uploader_thumbnail_view"
+                                  android:layout_toEndOf="@+id/detail_uploader_thumbnail_view"
+                                  android:layout_marginLeft="15dp"
+                                  android:layout_marginStart="28dp" />
 
                         <View
                             android:background="#000"
@@ -234,12 +235,12 @@
                 </FrameLayout>
 
                 <RelativeLayout android:id="@+id/detail_next_stream_root_layout"
-                    android:layout_width="match_parent"
-                    android:layout_height="match_parent"
-                    android:layout_gravity="center_horizontal|bottom"
-                    android:layout_below="@+id/detail_uploader_frame"
-                    android:layout_centerHorizontal="true"
-                    android:layout_marginTop="10dp">
+                                android:layout_width="match_parent"
+                                android:layout_height="match_parent"
+                                android:layout_gravity="center_horizontal|bottom"
+                                android:layout_below="@+id/detail_uploader_frame"
+                                android:layout_centerHorizontal="true"
+                                android:layout_marginTop="10dp">
 
                     <TextView
                         android:id="@+id/detail_next_stream_title"
@@ -256,14 +257,14 @@
                         android:layout_height="wrap_content"
                         android:id="@+id/detail_next_stream_content"/>
                     <TextView android:id="@+id/detail_similar_title"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_centerHorizontal="true"
-                        android:textSize="@dimen/video_item_detail_next_text_size"
-                        android:textAppearance="?android:attr/textAppearanceMedium"
-                        android:text="@string/similar_videos_btn_text"
-                        android:layout_below="@id/detail_next_stream_content"
-                        android:textAllCaps="true" />
+                              android:layout_width="wrap_content"
+                              android:layout_height="wrap_content"
+                              android:layout_centerHorizontal="true"
+                              android:textSize="@dimen/video_item_detail_next_text_size"
+                              android:textAppearance="?android:attr/textAppearanceMedium"
+                              android:text="@string/similar_videos_btn_text"
+                              android:layout_below="@id/detail_next_stream_content"
+                              android:textAllCaps="true" />
                     <LinearLayout
                         android:id="@+id/similar_streams_view"
                         android:orientation="vertical"
@@ -275,4 +276,4 @@
             </RelativeLayout>
         </RelativeLayout>
     </com.nirhart.parallaxscroll.views.ParallaxScrollView>
-</RelativeLayout>
+</RelativeLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_channel.xml b/app/src/main/res/layout/activity_channel.xml
index f87553882..e889ac3f8 100644
--- a/app/src/main/res/layout/activity_channel.xml
+++ b/app/src/main/res/layout/activity_channel.xml
@@ -91,6 +91,7 @@
         android:id="@+id/channel_streams_view"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
+        android:background="?android:windowBackground"
         app:layout_behavior="@string/appbar_scrolling_view_behavior"
         android:scrollbars="vertical"/>
 </android.support.design.widget.CoordinatorLayout>
diff --git a/app/src/main/res/layout/activity_error.xml b/app/src/main/res/layout/activity_error.xml
index ea6cb7792..478c5218c 100644
--- a/app/src/main/res/layout/activity_error.xml
+++ b/app/src/main/res/layout/activity_error.xml
@@ -42,7 +42,7 @@
                 android:id="@+id/errorMessageView"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:textColor="@android:color/black"
+                android:textColor="?android:attr/colorAccent"
                 android:text="@string/info_labels"/>
 
             <TextView
@@ -63,7 +63,7 @@
                     android:id="@+id/errorInfoLabelsView"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
-                    android:textColor="@android:color/black"
+                    android:textColor="?android:attr/colorAccent"
                     android:text="@string/info_labels"/>
 
                 <HorizontalScrollView
diff --git a/app/src/main/res/layout/fragment_videoitem_detail.xml b/app/src/main/res/layout/fragment_videoitem_detail.xml
index 0bb0420d0..4ee883ae4 100644
--- a/app/src/main/res/layout/fragment_videoitem_detail.xml
+++ b/app/src/main/res/layout/fragment_videoitem_detail.xml
@@ -1,14 +1,14 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    tools:context=".detail.VideoItemDetailFragment"
-    android:textIsSelectable="true"
-    style="?android:attr/textAppearanceLarge"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:id="@+id/video_item_detail">
+             xmlns:tools="http://schemas.android.com/tools"
+             xmlns:app="http://schemas.android.com/apk/res-auto"
+             tools:context=".detail.VideoItemDetailFragment"
+             android:textIsSelectable="true"
+             style="?android:attr/textAppearanceLarge"
+             android:layout_width="match_parent"
+             android:layout_height="match_parent"
+             android:id="@+id/video_item_detail">
 
     <com.nirhart.parallaxscroll.views.ParallaxScrollView
         android:id="@+id/detail_main_content"
@@ -29,22 +29,22 @@
                 android:background="?attr/selectableItemBackground">
 
                 <ImageView android:id="@+id/detail_thumbnail_view"
-                    android:contentDescription="@string/detail_thumbnail_view_description"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:scaleType="fitCenter"
-                    android:adjustViewBounds="true"
-                    android:layout_alignParentLeft="true"
-                    android:layout_alignParentStart="true"
-                    android:layout_alignParentTop="true"
-                    android:background="@android:color/black"
-                    android:src="@drawable/dummy_thumbnail_dark"/>
+                           android:contentDescription="@string/detail_thumbnail_view_description"
+                           android:layout_width="match_parent"
+                           android:layout_height="wrap_content"
+                           android:scaleType="fitCenter"
+                           android:adjustViewBounds="true"
+                           android:layout_alignParentLeft="true"
+                           android:layout_alignParentStart="true"
+                           android:layout_alignParentTop="true"
+                           android:background="@android:color/black"
+                           android:src="@drawable/dummy_thumbnail_dark"/>
 
                 <ProgressBar android:id="@+id/detail_progress_bar"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_centerInParent="true"
-                    android:indeterminate="true"/>
+                             android:layout_width="wrap_content"
+                             android:layout_height="wrap_content"
+                             android:layout_centerInParent="true"
+                             android:indeterminate="true"/>
 
                 <android.support.design.widget.FloatingActionButton
                     android:id="@+id/play_video_button"
@@ -65,10 +65,11 @@
             </RelativeLayout>
 
             <RelativeLayout android:id="@+id/detail_text_content_layout"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_below="@id/detail_stream_thumbnail_window_layout"
-                android:visibility="gone">
+                            android:layout_width="match_parent"
+                            android:layout_height="match_parent"
+                            android:layout_below="@id/detail_stream_thumbnail_window_layout"
+                            android:background="?android:windowBackground"
+                            android:visibility="gone">
 
                 <LinearLayout
                     android:layout_width="match_parent"
@@ -76,15 +77,15 @@
                     android:id="@+id/detailTopView">
 
                     <TextView android:id="@+id/detail_video_title_view"
-                        android:layout_width="0dp"
-                        android:layout_weight=".7"
-                        android:layout_height="wrap_content"
-                        android:textSize="@dimen/video_item_detail_title_text_size"
-                        android:textAppearance="?android:attr/textAppearanceLarge"
-                        android:layout_marginTop="12dp"
-                        android:layout_marginLeft="12dp"
-                        android:layout_marginStart="12dp"
-                        android:text="Title"/>
+                              android:layout_width="0dp"
+                              android:layout_weight=".7"
+                              android:layout_height="wrap_content"
+                              android:textSize="@dimen/video_item_detail_title_text_size"
+                              android:textAppearance="?android:attr/textAppearanceLarge"
+                              android:layout_marginTop="12dp"
+                              android:layout_marginLeft="12dp"
+                              android:layout_marginStart="12dp"
+                              android:text="Title"/>
 
                     <ImageView
                         android:layout_width="15dp"
@@ -100,17 +101,17 @@
                 </LinearLayout>
 
                 <TextView android:id="@+id/detail_view_count_view"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:textSize="@dimen/video_item_detail_views_text_size"
-                    android:textAppearance="?android:attr/textAppearanceLarge"
-                    android:layout_marginLeft="12dp"
-                    android:layout_marginStart="12dp"
-                    android:text="10,069,948 views"
-                    android:layout_below="@id/detailTopView"
-                    android:layout_alignParentLeft="true"
-                    android:layout_alignParentStart="true"
-                    android:layout_marginTop="5dp" />
+                          android:layout_width="match_parent"
+                          android:layout_height="wrap_content"
+                          android:textSize="@dimen/video_item_detail_views_text_size"
+                          android:textAppearance="?android:attr/textAppearanceLarge"
+                          android:layout_marginLeft="12dp"
+                          android:layout_marginStart="12dp"
+                          android:text="10,069,948 views"
+                          android:layout_below="@id/detailTopView"
+                          android:layout_alignParentLeft="true"
+                          android:layout_alignParentStart="true"
+                          android:layout_marginTop="5dp" />
 
                 <RelativeLayout
                     android:layout_width="match_parent"
@@ -123,21 +124,21 @@
                     android:layout_marginEnd="12dp"
                     android:visibility="gone">
                     <TextView android:id="@+id/detail_upload_date_view"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:textSize="@dimen/video_item_detail_upload_date_text_size"
-                        android:textAppearance="?android:attr/textAppearanceMedium"
-                        android:text="Upload date"
-                        android:layout_marginTop="3dp" />
+                              android:layout_width="wrap_content"
+                              android:layout_height="wrap_content"
+                              android:textSize="@dimen/video_item_detail_upload_date_text_size"
+                              android:textAppearance="?android:attr/textAppearanceMedium"
+                              android:text="Upload date"
+                              android:layout_marginTop="3dp" />
 
                     <TextView android:id="@+id/detail_description_view"
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:textSize="@dimen/video_item_detail_description_text_size"
-                        android:textAppearance="?android:attr/textAppearanceMedium"
-                        android:layout_below="@id/detail_upload_date_view"
-                        android:text="Description............."
-                        android:layout_marginTop="3dp" />
+                              android:layout_width="match_parent"
+                              android:layout_height="wrap_content"
+                              android:textSize="@dimen/video_item_detail_description_text_size"
+                              android:textAppearance="?android:attr/textAppearanceMedium"
+                              android:layout_below="@id/detail_upload_date_view"
+                              android:text="Description............."
+                              android:layout_marginTop="3dp" />
                 </RelativeLayout>
 
                 <LinearLayout
@@ -151,32 +152,32 @@
                     android:layout_alignParentEnd="true"
                     android:layout_marginTop="5dp">
                     <ImageView android:id="@+id/detail_thumbs_up_img_view"
-                        android:contentDescription="@string/detail_likes_img_view_description"
-                        android:layout_width="@dimen/video_item_detail_like_image_width"
-                        android:layout_height="@dimen/video_item_detail_like_image_height"
-                        android:src="@drawable/thumbs_up" />
+                               android:contentDescription="@string/detail_likes_img_view_description"
+                               android:layout_width="@dimen/video_item_detail_like_image_width"
+                               android:layout_height="@dimen/video_item_detail_like_image_height"
+                               android:src="?attr/thumbs_up" />
 
                     <TextView android:id="@+id/detail_thumbs_up_count_view"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:textSize="@dimen/video_item_detail_likes_text_size"
-                        android:textAppearance="?android:attr/textAppearanceMedium"
-                        android:text="200" />
+                              android:layout_width="wrap_content"
+                              android:layout_height="wrap_content"
+                              android:textSize="@dimen/video_item_detail_likes_text_size"
+                              android:textAppearance="?android:attr/textAppearanceMedium"
+                              android:text="200" />
 
                     <ImageView android:id="@+id/detail_thumbs_down_img_view"
-                        android:contentDescription="@string/detail_dislikes_img_view_description"
-                        android:layout_width="@dimen/video_item_detail_like_image_width"
-                        android:layout_height="@dimen/video_item_detail_like_image_height"
-                        android:src="@drawable/thumbs_down"
-                        android:layout_marginLeft="10dp"
-                        android:layout_marginStart="10dp"/>
+                               android:contentDescription="@string/detail_dislikes_img_view_description"
+                               android:layout_width="@dimen/video_item_detail_like_image_width"
+                               android:layout_height="@dimen/video_item_detail_like_image_height"
+                               android:src="?attr/thumbs_down"
+                               android:layout_marginLeft="10dp"
+                               android:layout_marginStart="10dp"/>
 
                     <TextView android:id="@+id/detail_thumbs_down_count_view"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:textSize="@dimen/video_item_detail_likes_text_size"
-                        android:textAppearance="?android:attr/textAppearanceMedium"
-                        android:text="100" />
+                              android:layout_width="wrap_content"
+                              android:layout_height="wrap_content"
+                              android:textSize="@dimen/video_item_detail_likes_text_size"
+                              android:textAppearance="?android:attr/textAppearanceMedium"
+                              android:text="100" />
                 </LinearLayout>
 
                 <FrameLayout
@@ -209,17 +210,17 @@
                             android:layout_marginBottom="5dp"/>
 
                         <TextView android:id="@+id/detail_uploader_view"
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:textStyle="bold"
-                            android:textSize="@dimen/video_item_detail_uploader_text_size"
-                            android:textAppearance="?android:attr/textAppearanceLarge"
-                            android:text="Uploader"
-                            android:layout_centerVertical="true"
-                            android:layout_toRightOf="@+id/detail_uploader_thumbnail_view"
-                            android:layout_toEndOf="@+id/detail_uploader_thumbnail_view"
-                            android:layout_marginLeft="15dp"
-                            android:layout_marginStart="28dp" />
+                                  android:layout_width="wrap_content"
+                                  android:layout_height="wrap_content"
+                                  android:textStyle="bold"
+                                  android:textSize="@dimen/video_item_detail_uploader_text_size"
+                                  android:textAppearance="?android:attr/textAppearanceLarge"
+                                  android:text="Uploader"
+                                  android:layout_centerVertical="true"
+                                  android:layout_toRightOf="@+id/detail_uploader_thumbnail_view"
+                                  android:layout_toEndOf="@+id/detail_uploader_thumbnail_view"
+                                  android:layout_marginLeft="15dp"
+                                  android:layout_marginStart="28dp" />
 
                         <View
                             android:background="#000"
@@ -236,12 +237,12 @@
                 </FrameLayout>
 
                 <RelativeLayout android:id="@+id/detail_next_stream_root_layout"
-                    android:layout_width="match_parent"
-                    android:layout_height="match_parent"
-                    android:layout_gravity="center_horizontal|bottom"
-                    android:layout_below="@+id/detail_uploader_frame"
-                    android:layout_centerHorizontal="true"
-                    android:layout_marginTop="10dp">
+                                android:layout_width="match_parent"
+                                android:layout_height="match_parent"
+                                android:layout_gravity="center_horizontal|bottom"
+                                android:layout_below="@+id/detail_uploader_frame"
+                                android:layout_centerHorizontal="true"
+                                android:layout_marginTop="10dp">
 
                     <TextView
                         android:id="@+id/detail_next_stream_title"
@@ -258,14 +259,14 @@
                         android:layout_height="wrap_content"
                         android:id="@+id/detail_next_stream_content"/>
                     <TextView android:id="@+id/detail_similar_title"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_centerHorizontal="true"
-                        android:textSize="@dimen/video_item_detail_next_text_size"
-                        android:textAppearance="?android:attr/textAppearanceMedium"
-                        android:text="@string/similar_videos_btn_text"
-                        android:layout_below="@id/detail_next_stream_content"
-                        android:textAllCaps="true" />
+                              android:layout_width="wrap_content"
+                              android:layout_height="wrap_content"
+                              android:layout_centerHorizontal="true"
+                              android:textSize="@dimen/video_item_detail_next_text_size"
+                              android:textAppearance="?android:attr/textAppearanceMedium"
+                              android:text="@string/similar_videos_btn_text"
+                              android:layout_below="@id/detail_next_stream_content"
+                              android:textAllCaps="true" />
                     <LinearLayout
                         android:id="@+id/similar_streams_view"
                         android:orientation="vertical"
@@ -277,4 +278,4 @@
             </RelativeLayout>
         </RelativeLayout>
     </com.nirhart.parallaxscroll.views.ParallaxScrollView>
-</FrameLayout>
+</FrameLayout>
\ No newline at end of file
diff --git a/app/src/main/res/menu/videoitem_detail.xml b/app/src/main/res/menu/videoitem_detail.xml
index 0f2b01615..a2e93274a 100644
--- a/app/src/main/res/menu/videoitem_detail.xml
+++ b/app/src/main/res/menu/videoitem_detail.xml
@@ -5,12 +5,12 @@
     <item android:id="@+id/menu_item_play_audio"
         android:title="@string/play_audio"
         app:showAsAction="ifRoom"
-        android:icon="@drawable/ic_headset_black" />
+        android:icon="?attr/audio" />
 
     <item android:id="@+id/menu_item_download"
         app:showAsAction="ifRoom"
         android:title="@string/download"
-        android:icon="@drawable/ic_file_download_black"/>
+        android:icon="?attr/download"/>
 
     <item android:id="@+id/menu_item_share"
         android:title="@string/share"
diff --git a/app/src/main/res/values-v21/styles.xml b/app/src/main/res/values-v21/styles.xml
index 8690652be..05af4c91f 100644
--- a/app/src/main/res/values-v21/styles.xml
+++ b/app/src/main/res/values-v21/styles.xml
@@ -1,13 +1,30 @@
 <resources>
-    <!-- Base application theme. -->
     <style name="AppTheme" parent="Theme.AppCompat.Light">
         <item name="android:actionBarStyle">@style/NewPipeActionbarTheme</item>
         <item name="actionBarStyle">@style/NewPipeActionbarTheme</item>
-        <item name="android:colorPrimary">@color/light_youtube_primary_color</item>
-        <item name="android:colorPrimaryDark">@color/light_youtube_dark_color</item>
+        <item name="colorPrimary">@color/light_youtube_primary_color</item>
+        <item name="colorPrimaryDark">@color/light_youtube_dark_color</item>
         <item name="colorAccent">@color/light_youtube_accent_color</item>
-        <item name="android:colorAccent">@color/light_youtube_accent_color</item>
         <item name="android:windowBackground">@color/light_background_color</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="audio">@drawable/ic_headset_black_24dp</item>
+        <item name="download">@drawable/ic_file_download_black_24dp</item>
+    </style>
+
+
+    <!-- Dark Theme-->
+    <style name="DarkTheme" parent="Theme.AppCompat">
+        <item name="android:actionBarStyle">@style/NewPipeActionbarTheme</item>
+        <item name="actionBarStyle">@style/NewPipeActionbarTheme</item>
+        <item name="colorPrimary">@color/dark_youtube_primary_color</item>
+        <item name="colorPrimaryDark">@color/light_youtube_dark_color</item>
+        <item name="colorAccent">@color/dark_youtube_accent_color</item>
+        <item name="android:windowBackground">@color/dark_background_color</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="audio">@drawable/ic_headset_white_24dp</item>
+        <item name="download">@drawable/ic_file_download_white_24dp</item>
     </style>
 
     <!-- Dark Theme-->
diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml
new file mode 100644
index 000000000..68928bdbc
--- /dev/null
+++ b/app/src/main/res/values/attrs.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <attr name="thumbs_up" format="reference"/>
+    <attr name="thumbs_down" format="reference"/>
+    <attr name="audio" format="reference"/>
+    <attr name="download" format="reference"/>
+    <attr name="share" format="reference"/>
+    <attr name="cast" format="reference"/>
+</resources>
\ No newline at end of file
diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml
index e17179117..77d232ccb 100644
--- a/app/src/main/res/values/settings_keys.xml
+++ b/app/src/main/res/values/settings_keys.xml
@@ -25,14 +25,16 @@
     <string name="show_play_with_kodi_key">show_play_with_kodi</string>
 
     <string name="theme_key">theme</string>
-    <string name="default_theme_value">0</string>
+    <string name="default_theme_value">@string/light_theme_title</string>
     <string-array name="theme_description_list">
-        <item>@string/dark_theme_title</item>
         <item>@string/light_theme_title</item>
+        <item>@string/dark_theme_title</item>
+        <item>@string/black_theme_title</item>
     </string-array>
     <string-array name="theme_list">
-        <item>0</item>
-        <item>1</item>
+        <item>@string/light_theme_title</item>
+        <item>@string/dark_theme_title</item>
+        <item>@string/black_theme_title</item>
     </string-array>
 
     <string name="default_audio_format_key">default_audio_format</string>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 39532aefd..6fc947f54 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -46,8 +46,9 @@
     <string name="webm_description">WebM — free format</string>
     <string name="m4a_description">m4a — better quality</string>
     <string name="theme_title">Theme</string>
-    <string name="dark_theme_title">Dark</string>
     <string name="light_theme_title">Light</string>
+    <string name="dark_theme_title">Dark</string>
+    <string name="black_theme_title">Black</string>
 
     <string name="download_dialog_title">Download</string>
     <string-array name="download_options">
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index dbb073b9e..97040f014 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -1,6 +1,6 @@
 <resources>
 
-    <style name="RootTheme" parent="android:Theme.Holo"></style>
+    <style name="RootTheme" parent="android:Theme.Holo"/>
 
     <style name="PlayerTheme" parent="@style/RootTheme">
         <item name="android:windowNoTitle">true</item>
@@ -13,6 +13,7 @@
         <item name="android:minWidth">40dp</item>
     </style>
 
+
     <!-- Base application theme. -->
     <style name="AppTheme" parent="Theme.AppCompat.Light">
         <item name="android:actionBarStyle">@style/NewPipeActionbarTheme</item>
@@ -21,6 +22,33 @@
         <item name="colorPrimaryDark">@color/light_youtube_dark_color</item>
         <item name="colorAccent">@color/light_youtube_accent_color</item>
         <item name="android:windowBackground">@color/light_background_color</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="audio">@drawable/ic_headset_black_24dp</item>
+        <item name="download">@drawable/ic_file_download_black_24dp</item>
+        <item name="share">@drawable/ic_share_black</item>
+        <item name="cast">@drawable/ic_cast_black_24dp</item>
+    </style>
+
+
+    <!-- Dark Theme-->
+    <style name="DarkTheme" parent="Theme.AppCompat">
+        <item name="android:actionBarStyle">@style/NewPipeActionbarTheme</item>
+        <item name="actionBarStyle">@style/NewPipeActionbarTheme</item>
+        <item name="colorPrimary">@color/dark_youtube_primary_color</item>
+        <item name="colorPrimaryDark">@color/light_youtube_dark_color</item>
+        <item name="colorAccent">@color/dark_youtube_accent_color</item>
+        <item name="android:windowBackground">@color/dark_background_color</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="audio">@drawable/ic_headset_white_24dp</item>
+        <item name="download">@drawable/ic_file_download_white_24dp</item>
+        <item name="share">@drawable/ic_share_white_24dp</item>
+        <item name="cast">@drawable/ic_cast_white_24dp</item>
+    </style>
+
+    <style name="BlackTheme" parent="DarkTheme">
+        <item name="android:windowBackground">@color/light_youtube_accent_color</item>
     </style>
 
     <!-- Dark Theme-->
diff --git a/app/src/main/res/xml/settings.xml b/app/src/main/res/xml/settings.xml
index cc42de70a..7330643ee 100644
--- a/app/src/main/res/xml/settings.xml
+++ b/app/src/main/res/xml/settings.xml
@@ -43,7 +43,7 @@
         android:key="@string/settings_category_appearance"
         android:title="@string/settings_category_appearance_title"
         android:textAllCaps="true">
-
+.
         <ListPreference
             android:key="@string/theme_key"
             android:title="@string/theme_title"