How to use Holo.Light theme, and fall back to 'Light' on pre-honeycomb devices? How to use Holo.Light theme, and fall back to 'Light' on pre-honeycomb devices? android android

How to use Holo.Light theme, and fall back to 'Light' on pre-honeycomb devices?


You have to create a custom theme and save it in some directories to finally set this theme as the default one for the app

First, in values add a themes.xml like this:

<?xml version="1.0" encoding="utf-8"?><resources>    <style name="MyAppTheme" parent="@android:style/Theme.Light.NoTitleBar">        <!-- Any customizations for your app running on pre-3.0 devices here -->    </style></resources> 

Then, create a directory with the name "values-v11" (Android 3.0+ ) in the res directory and put a themes.xml like this

<?xml version="1.0" encoding="utf-8"?><resources>    <style name="MyAppTheme" parent="@android:style/Theme.Holo.Light">        <!-- Any customizations for your app running on 3.0+ devices here -->    </style></resources>

Finally, create a directory with the name "values-v14" (Android 4.0+) in the res directory and create a themes.xml

<?xml version="1.0" encoding="utf-8"?><resources>    <style name="MyAppTheme" parent="@android:style/Theme.DeviceDefault.Light.NoActionBar">        <!-- Any customizations for your app running on 4.0+ devices here -->    </style></resources>

With the DeviceDefault your app allways look perfect in any device of any company (HTC Samsung ... ) that add created custom themes for Android 4

EDIT: Samsung's interface (TouchWiz) dont respect this feature and the apps will be very ugly on Samsung's devices. Its better put Holo theme :(

Finally in your manifest.xml

 <application        ...        android:theme="@style/MyAppTheme">


You can also simply set the background to be white, and then go through and make all your other widgets black, like this:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    **android:background="#ffffff"    android:orientation="vertical" ><TextView    android:id="@+id/tvText"    android:text="@string/text"    **android:textColor="#000000"    android:textSize="12dp" />