android - hobba - Cómo tener un botón de interruptor de Lollipop
hartico (6)
API 24 en el interruptor de apagado
<android.support.v7.widget.SwitchCompat
android:id="@+id/switch1"
android:layout_alignBottom="@+id/textView3"
android:layout_alignEnd="@+id/input_layout_password"
android:layout_alignRight="@+id/input_layout_password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
Quiero tener el botón de cambio de estilo Lollipop para mi aplicación:
¿Cómo podría implementar este botón para que se vea así también en versiones anteriores de Android?
Creo que lo que necesitas está en esa biblioteca.
lo que hace esta biblioteca es permitirle crear un botón de cambio de diseño de material como en Andorid 5.0
Estamos usando SwitchCompact en la versión de lollipop o puede usar la versión actualizada de lolliopop es mejor
<android.support.v7.widget.SwitchCompat
android:id="@+id/compatSwitch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/switch2"
android:layout_alignLeft="@+id/switch2"
android:layout_alignStart="@+id/switch2"
android:layout_marginTop="39dp" />
Hay un gran artículo en el blog de desarrolladores de Android que explica cómo utilizar el diseño de materiales en dispositivos pre-Lollipop: http://android-developers.blogspot.com/2014/10/appcompat-v21-material-design-for-pre.html
Para responder más específicamente a su pregunta, puede usar el interruptor de estilo Lollipop para versiones anteriores utilizando la API SwitchCompat
: https://developer.android.com/reference/android/support/v7/widget/SwitchCompat.html
Para tener el botón de cambio de estilo Lollipop en versiones anteriores de Android, debe usar SwitchCompat en el archivo XML de diseño
<android.support.v7.widget.SwitchCompat
android:id="@+id/compatSwitch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
y también en el archivo java
SwitchCompat switchCompat = (SwitchCompat) findViewById(R.id.compatSwitch);
Al principio, configure android:targetSdkVersion="22"
en su manifiesto para que su aplicación sea compatible con Lollipop .
NOTA: El color de su interruptor depende de esto
<item name="android:colorAccent">@color/accent</item>
Cree su propio tema para su aplicación en styles.xml en Folder values-v21
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="AppTheme.Base">
<item name="android:colorPrimary">@color/primary</item>
<item name="android:colorPrimaryDark">@color/primary_dark</item>
<item name="android:colorAccent">@color/accent</item>
<item name="android:textColorPrimary">@color/text_primary</item>
<item name="android:textColor">@color/text_secondary</item>
<item name="android:navigationBarColor">@color/primary_dark</item>
<item name="toolbarStyle">@style/Widget.AppCompat.Toolbar</item>
</style>
</resources>
styles.xml en valores de carpeta predeterminados o valores-v14
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="AppTheme.Base">
<!-- Customize your theme here. -->
<item name="toolbarStyle">@style/Widget.AppCompat.Toolbar</item>
</style>
<style name="AppTheme.Base" parent="Theme.AppCompat">
<!-- Customize your theme here. -->
<!-- colorPrimary is used for the default action bar background -->
<item name="colorPrimary">@color/primary</item>
<!-- colorPrimaryDark is used for the status bar -->
<item name="colorPrimaryDark">@color/primary_dark</item>
<!-- colorAccent is used as the default value for colorControlActivated
which is used to tint widgets -->
<item name="colorAccent">@color/accent</item>
<!-- You can also set colorControlNormal, colorControlActivated
colorControlHighlight & colorSwitchThumbNormal. -->
</style>
</resources>