Hay una agradable charla sobre esto desde Google IO 2012 (starting at slide 32)
Aquí i s un ejemplo detallado:
Cree un archivo XML de diseño separado para las versiones de ICS + colocándolo en/res/layout-v14. La estructura del archivo resultante será algo como esto:
res/layout
- mainlayout.xml
- compound_button.xml
res/layout-v14
- compound_button.xml
Android será entonces buscar recursos en el directorio de diseño-v14 cuando su aplicación se está ejecutando en el V14 o superior.
Publicar un incluyen en mainlayout.xml que se tire en el compound_button.xml pertinente cuando se ejecuta la aplicación:
<include layout="@layout/compound_button" />
Para el pre 4.0 diseño que queremos una casilla de verificación, por tanto, crear/diseño/compound_button. XML como una fusión de la siguiente manera:
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" >
<CheckBox
android:id="@+id/enabled"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Enable" />
</merge>
Y luego para el diseño 4.0+ queremos un interruptor, por tanto, crear /layout-v14/compound_button.xml como una fusión de la siguiente manera:
<?xml version="1.0" encoding="utf-8"?>
<merge 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" >
<Switch
android:id="@+id/enabled"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Enable"
tools:ignore="NewApi" />
</merge>
Por supuesto, asegúrese de ajustar su min y objetivos de manera adecuada:
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="14" />
Consulte la solución aquí: http://stackoverflow.com/questions/9920709/use-android-4-0-styled-toggle-button/15640365#15640365 – dberm22