From 058b5b8ce9ac0497d166b9bbf631bede0101cade Mon Sep 17 00:00:00 2001 From: Karim Abou Zeid Date: Fri, 10 Jul 2015 04:25:58 +0200 Subject: [PATCH] TabStrip color now uses the accent color instead of white/black --- .../gramophone/ui/activities/MainActivity.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java index fa10eb75..0c31b649 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java @@ -60,6 +60,7 @@ import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import java.lang.reflect.Field; +import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Set; @@ -122,6 +123,8 @@ public class MainActivity extends AbsFabActivity navigationView.getMenu().getItem(startPosition).setChecked(true); tabs.setupWithViewPager(pager); + setUpTabStripColor(); + pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { @@ -143,6 +146,21 @@ public class MainActivity extends AbsFabActivity pager.setCurrentItem(startPosition); } + private void setUpTabStripColor() { + // use reflection to set the selected indicator color + try { + Field tabStripField = tabs.getClass().getDeclaredField("mTabStrip"); + tabStripField.setAccessible(true); + Object tabStrip = tabStripField.get(tabs); + + Method setSelectedIndicatorColorMethod = tabStrip.getClass().getDeclaredMethod("setSelectedIndicatorColor", int.class); + setSelectedIndicatorColorMethod.setAccessible(true); + setSelectedIndicatorColorMethod.invoke(tabStrip, ThemeSingleton.get().positiveColor); + } catch (Exception e) { + e.printStackTrace(); + } + } + private void setUpToolbar() { setTitle(getResources().getString(R.string.app_name)); setAppBarColor();