From 44e994f4204fd6ea9d2619059cd749f47a7134e6 Mon Sep 17 00:00:00 2001 From: Jimmy Shih Date: Mon, 3 Jun 2013 13:06:30 -0700 Subject: [PATCH] Change tab background color for android v11 and higher --- .../tab_selected_focused_mytracks.9.png | Bin 0 -> 105 bytes .../drawable-hdpi/tab_selected_mytracks.9.png | Bin 0 -> 100 bytes .../tab_selected_pressed_mytracks.9.png | Bin 0 -> 105 bytes .../tab_unselected_focused_mytracks.9.png | Bin 0 -> 111 bytes .../tab_unselected_mytracks.9.png | Bin 0 -> 102 bytes .../tab_unselected_pressed_mytracks.9.png | Bin 0 -> 111 bytes .../tab_selected_focused_mytracks.9.png | Bin 0 -> 102 bytes .../drawable-mdpi/tab_selected_mytracks.9.png | Bin 0 -> 96 bytes .../tab_selected_pressed_mytracks.9.png | Bin 0 -> 102 bytes .../tab_unselected_focused_mytracks.9.png | Bin 0 -> 107 bytes .../tab_unselected_mytracks.9.png | Bin 0 -> 103 bytes .../tab_unselected_pressed_mytracks.9.png | Bin 0 -> 110 bytes .../tab_selected_focused_mytracks.9.png | Bin 0 -> 110 bytes .../tab_selected_mytracks.9.png | Bin 0 -> 104 bytes .../tab_selected_pressed_mytracks.9.png | Bin 0 -> 110 bytes .../tab_unselected_focused_mytracks.9.png | Bin 0 -> 122 bytes .../tab_unselected_mytracks.9.png | Bin 0 -> 114 bytes .../tab_unselected_pressed_mytracks.9.png | Bin 0 -> 121 bytes .../res/drawable/tab_indicator_mytracks.xml | 31 ++++++++++++++++++ MyTracks/res/values-v11/styles.xml | 10 +++--- .../apps/mytracks/TrackDetailActivity.java | 5 +++ .../apps/mytracks/util/Api11Adapter.java | 8 +++++ .../apps/mytracks/util/Api8Adapter.java | 6 ++++ .../apps/mytracks/util/ApiAdapter.java | 10 +++++- 24 files changed, 64 insertions(+), 6 deletions(-) create mode 100644 MyTracks/res/drawable-hdpi/tab_selected_focused_mytracks.9.png create mode 100644 MyTracks/res/drawable-hdpi/tab_selected_mytracks.9.png create mode 100644 MyTracks/res/drawable-hdpi/tab_selected_pressed_mytracks.9.png create mode 100644 MyTracks/res/drawable-hdpi/tab_unselected_focused_mytracks.9.png create mode 100644 MyTracks/res/drawable-hdpi/tab_unselected_mytracks.9.png create mode 100644 MyTracks/res/drawable-hdpi/tab_unselected_pressed_mytracks.9.png create mode 100644 MyTracks/res/drawable-mdpi/tab_selected_focused_mytracks.9.png create mode 100644 MyTracks/res/drawable-mdpi/tab_selected_mytracks.9.png create mode 100644 MyTracks/res/drawable-mdpi/tab_selected_pressed_mytracks.9.png create mode 100644 MyTracks/res/drawable-mdpi/tab_unselected_focused_mytracks.9.png create mode 100644 MyTracks/res/drawable-mdpi/tab_unselected_mytracks.9.png create mode 100644 MyTracks/res/drawable-mdpi/tab_unselected_pressed_mytracks.9.png create mode 100644 MyTracks/res/drawable-xhdpi/tab_selected_focused_mytracks.9.png create mode 100644 MyTracks/res/drawable-xhdpi/tab_selected_mytracks.9.png create mode 100644 MyTracks/res/drawable-xhdpi/tab_selected_pressed_mytracks.9.png create mode 100644 MyTracks/res/drawable-xhdpi/tab_unselected_focused_mytracks.9.png create mode 100644 MyTracks/res/drawable-xhdpi/tab_unselected_mytracks.9.png create mode 100644 MyTracks/res/drawable-xhdpi/tab_unselected_pressed_mytracks.9.png create mode 100644 MyTracks/res/drawable/tab_indicator_mytracks.xml diff --git a/MyTracks/res/drawable-hdpi/tab_selected_focused_mytracks.9.png b/MyTracks/res/drawable-hdpi/tab_selected_focused_mytracks.9.png new file mode 100644 index 0000000000000000000000000000000000000000..a6cd98a115029c3edd0e2145f04d69533e68e42c GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1i!3HFsuehcLqzpV=9780+lT#WR{s&087#cOP z{M&9k;{c1Kw&b}9Y9~JIXHHa0X1x%wLD$(uz}A7`hoUC)wFsq2K)no}u6{1-oD!M< DO06AW literal 0 HcmV?d00001 diff --git a/MyTracks/res/drawable-hdpi/tab_selected_mytracks.9.png b/MyTracks/res/drawable-hdpi/tab_selected_mytracks.9.png new file mode 100644 index 0000000000000000000000000000000000000000..bc57ff2928a08fa83bf3faaa898821aea9e39bf9 GIT binary patch literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1i!3HFsuehcLq_jO<9780+lT#WR{s&087#caT yI+*bMQTLtju%7*p&oQnA3lpN-IuxoJ7#OTBDKm3a-lzd;WAJqKb6Mw<&;$UKMjJ)| literal 0 HcmV?d00001 diff --git a/MyTracks/res/drawable-hdpi/tab_selected_pressed_mytracks.9.png b/MyTracks/res/drawable-hdpi/tab_selected_pressed_mytracks.9.png new file mode 100644 index 0000000000000000000000000000000000000000..73055d4dd3ee566d3976f1b874c981a0c5fac439 GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1i!3HFsuehcLqzpV=9780+lT#WR{s&087#cOP z{M&A9a)?DzTk@5saLSMSjRuo9GG%Don5L-IA*aB=%%aIG9XvY%sF%Uh)z4*}Q$iB} DC^j4H literal 0 HcmV?d00001 diff --git a/MyTracks/res/drawable-hdpi/tab_unselected_focused_mytracks.9.png b/MyTracks/res/drawable-hdpi/tab_unselected_focused_mytracks.9.png new file mode 100644 index 0000000000000000000000000000000000000000..9314c584dfa0f960d57a62afa997568109f71783 GIT binary patch literal 111 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1c!3HD^Kbl$tDKk$O#}JO_+ z|F#>?IKU#QEqQK&+6jg$c|GgqKCEXyq;!mHfp5a+ z|F#>O9Ac5wmVD(YoWhWm?{NLxhyBcng2}8G)HYnb!E$jf3xnuGac0T;%{f357(8A5 KT-G@yGywp?1Rsb1 literal 0 HcmV?d00001 diff --git a/MyTracks/res/drawable-mdpi/tab_selected_focused_mytracks.9.png b/MyTracks/res/drawable-mdpi/tab_selected_focused_mytracks.9.png new file mode 100644 index 0000000000000000000000000000000000000000..c11de4d66438f6d92b2314f7daebfab934c17361 GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b~!3HEJ|NhShq;x%9978ywlT#WR{s+vOD0t-O z{c{OSLJ4b9ESf_b9@ewFa3`}0H1jTKW!Q9>;W^V~)E*8w#$c)I$ztaD0e0suc$ B9(Mo$ literal 0 HcmV?d00001 diff --git a/MyTracks/res/drawable-mdpi/tab_selected_mytracks.9.png b/MyTracks/res/drawable-mdpi/tab_selected_mytracks.9.png new file mode 100644 index 0000000000000000000000000000000000000000..dd41ee448059abd155e17512d13778717dcf7ede GIT binary patch literal 96 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b~!3HEJ|NhShq|`lK978ywlT#WR{s+vOD0qtT uVglzHCZ7M+3Q-c;4H9em#F$R-F*D2$lVE;!#w-`8g~8L+&t;ucLK6ThHyL99 literal 0 HcmV?d00001 diff --git a/MyTracks/res/drawable-mdpi/tab_selected_pressed_mytracks.9.png b/MyTracks/res/drawable-mdpi/tab_selected_pressed_mytracks.9.png new file mode 100644 index 0000000000000000000000000000000000000000..c1bd354b96c98584302aee766cdd4bd8afacffeb GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b~!3HEJ|NhShq;x%9978ywlT#WR{s+vOD0t-O z{c{&Mgc8=ItT?W9;KP3AMXei|Iu5d3aALTb$Z-0K40Br5a~GgS22WQ%mvv4FO#rkR BA(#LF literal 0 HcmV?d00001 diff --git a/MyTracks/res/drawable-mdpi/tab_unselected_focused_mytracks.9.png b/MyTracks/res/drawable-mdpi/tab_unselected_focused_mytracks.9.png new file mode 100644 index 0000000000000000000000000000000000000000..271b6281a35689aa8981fb3634da8f1dded1d71b GIT binary patch literal 107 zcmeAS@N?(olHy`uVBq!ia0vp^EI`c0!3HFsSlX8YDI-r8#}JO_=g0$fGkCiCxvX*4==9g;nw4n27q46#81%#U)~jDZF)c)I$z JtaD0e0svQlA!Psn literal 0 HcmV?d00001 diff --git a/MyTracks/res/drawable-xhdpi/tab_selected_focused_mytracks.9.png b/MyTracks/res/drawable-xhdpi/tab_selected_focused_mytracks.9.png new file mode 100644 index 0000000000000000000000000000000000000000..786bc6df6d7053446c4fbf150c2d74275211080f GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^Y(Ol;0U|59*B=E^rk*a2Arj%qDGd$(1Ekyxjha~g zZ#SNy;B63QG-u%^mc#$~LQYF+OGr4B^>`g{mXlMtp~S^dJ==`=9IKNl&;SNcS3j3^ HP6VAHUjk}n@O1TaS?83{1OVjX B8}a}E literal 0 HcmV?d00001 diff --git a/MyTracks/res/drawable-xhdpi/tab_selected_pressed_mytracks.9.png b/MyTracks/res/drawable-xhdpi/tab_selected_pressed_mytracks.9.png new file mode 100644 index 0000000000000000000000000000000000000000..9752ac983dc298da6713e78cc4b64d045e1e4ddb GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^Y(Ol;0U|59*B=E^rk*a2Arj%qDGd$(1Ekyxjha~g zZ#Onk@-_%Fx)L1O^st_N)zcnP9v%g2H`ND<{QN>Wf~*XEx6PO}e;t|$G=Ra=)z4*} HQ$iB}vNIkY literal 0 HcmV?d00001 diff --git a/MyTracks/res/drawable-xhdpi/tab_unselected_focused_mytracks.9.png b/MyTracks/res/drawable-xhdpi/tab_unselected_focused_mytracks.9.png new file mode 100644 index 0000000000000000000000000000000000000000..eed4aaa1c56c0fcd913677941b54c006deaedb46 GIT binary patch literal 122 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJ#0V1dK=^FznM^6{W5RT~Nl!k`?0a9*;MoldL zw;Rt;@HPlDnzL{d3-blOmdKI;Vst09EfKjQ{`u literal 0 HcmV?d00001 diff --git a/MyTracks/res/drawable-xhdpi/tab_unselected_mytracks.9.png b/MyTracks/res/drawable-xhdpi/tab_unselected_mytracks.9.png new file mode 100644 index 0000000000000000000000000000000000000000..fd847c5ce241e8b6b3f223a1bf38162844fde4e2 GIT binary patch literal 114 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJ#0V1dK=^FznOHUWa5RT~Nl!k`?0a9*;Moz4b zCPqK}Q#nl@EA}x)|Jpx!pjqQ)n4I2&yr4SM3L;jb2fQB%5 My85}Sb4q9e0PuPrw*UYD literal 0 HcmV?d00001 diff --git a/MyTracks/res/drawable-xhdpi/tab_unselected_pressed_mytracks.9.png b/MyTracks/res/drawable-xhdpi/tab_unselected_pressed_mytracks.9.png new file mode 100644 index 0000000000000000000000000000000000000000..3540a88ecf842c22772075de92a4195004345b1c GIT binary patch literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJ#0V1dK=^Fzn2TvEr5RT~Nl!k`?0a9*;MoldL zw;P)%c^iZoT?vkCV$5)7HnW!aS8njeed3CQ0)|MwNe+d2$*j!Gb(}eJEDXo% + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/MyTracks/res/values-v11/styles.xml b/MyTracks/res/values-v11/styles.xml index ee9643069..171ea3343 100644 --- a/MyTracks/res/values-v11/styles.xml +++ b/MyTracks/res/values-v11/styles.xml @@ -15,6 +15,10 @@ See the License for the specific language governing permissions and limitations under the License. --> + - \ No newline at end of file diff --git a/MyTracks/src/com/google/android/apps/mytracks/TrackDetailActivity.java b/MyTracks/src/com/google/android/apps/mytracks/TrackDetailActivity.java index 6eda0cd4a..3954f72aa 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/TrackDetailActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/TrackDetailActivity.java @@ -37,6 +37,7 @@ import com.google.android.apps.mytracks.io.sendtogoogle.SendRequest; import com.google.android.apps.mytracks.services.TrackRecordingServiceConnection; import com.google.android.apps.mytracks.settings.SettingsActivity; import com.google.android.apps.mytracks.util.AnalyticsUtils; +import com.google.android.apps.mytracks.util.ApiAdapterFactory; import com.google.android.apps.mytracks.util.GoogleFeedbackUtils; import com.google.android.apps.mytracks.util.IntentUtils; import com.google.android.apps.mytracks.util.PreferencesUtils; @@ -214,6 +215,10 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity if (savedInstanceState != null) { tabHost.setCurrentTabByTag(savedInstanceState.getString(CURRENT_TAB_TAG_KEY)); } + + // Set the background after all three tabs are added + ApiAdapterFactory.getApiAdapter().setTabBackground(tabHost.getTabWidget()); + trackController = new TrackController( this, trackRecordingServiceConnection, false, recordListener, stopListener); } diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/Api11Adapter.java b/MyTracks/src/com/google/android/apps/mytracks/util/Api11Adapter.java index b97150faa..865de4192 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/util/Api11Adapter.java +++ b/MyTracks/src/com/google/android/apps/mytracks/util/Api11Adapter.java @@ -37,6 +37,7 @@ import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.SearchView; import android.widget.Spinner; +import android.widget.TabWidget; import android.widget.TextView; import java.util.ArrayList; @@ -241,4 +242,11 @@ public class Api11Adapter extends Api10Adapter { public boolean isSpinnerBackgroundLight() { return false; } + + @Override + public void setTabBackground(TabWidget tabWidget) { + for (int i = 0; i < tabWidget.getChildCount(); i++) { + tabWidget.getChildAt(i).setBackgroundResource(R.drawable.tab_indicator_mytracks); + } + } } diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/Api8Adapter.java b/MyTracks/src/com/google/android/apps/mytracks/util/Api8Adapter.java index 54bc09123..9206aada9 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/util/Api8Adapter.java +++ b/MyTracks/src/com/google/android/apps/mytracks/util/Api8Adapter.java @@ -35,6 +35,7 @@ import android.view.ViewTreeObserver.OnGlobalLayoutListener; import android.view.Window; import android.widget.ArrayAdapter; import android.widget.ListView; +import android.widget.TabWidget; import java.io.IOException; import java.lang.reflect.InvocationTargetException; @@ -142,6 +143,11 @@ public class Api8Adapter implements ApiAdapter { return true; } + @Override + public void setTabBackground(TabWidget tabWidget) { + // Do nothing + } + @Override public boolean handleSearchKey(MenuItem menuItem) { // Return false and allow the framework to handle the search key. diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/ApiAdapter.java b/MyTracks/src/com/google/android/apps/mytracks/util/ApiAdapter.java index 3cdcb4b94..eab22abcc 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/util/ApiAdapter.java +++ b/MyTracks/src/com/google/android/apps/mytracks/util/ApiAdapter.java @@ -28,6 +28,7 @@ import android.view.MenuItem; import android.view.ViewTreeObserver; import android.widget.ArrayAdapter; import android.widget.ListView; +import android.widget.TabWidget; import java.io.IOException; import java.util.List; @@ -173,7 +174,14 @@ public interface ApiAdapter { *

* Due to changes in API level 11. */ - public boolean isSpinnerBackgroundLight(); + public boolean isSpinnerBackgroundLight(); + + /** + * Sets the tab background. + * + * @param tabWidget the tab widget + */ + public void setTabBackground(TabWidget tabWidget); /** * Handles the search key press. Returns true if handled.