2015-04-20 3 views

ответ

9

В первом набор android:targetSdkVersion="22" в манифесте, чтобы сделать ваше приложение совместимо с леденцом.

ПРИМЕЧАНИЕ: Цвет коммутаторе зависит от этого

<item name="android:colorAccent">@color/accent</item> 

Создайте свою собственную тему для вашего приложения в styles.xml в папке значения-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 в папке по умолчанию значения или значения-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> 
+1

Не устанавливайте 'maxSdkVersion'.Это ограничит ваши установки до lolipop. Что вам нужно, это 'targetSdkVersion' –

+0

@MirceaNistor Вы правы. Я обновил свой ответ. Спасибо :) – ch3tanz

0

Я думаю, что вам нужно в этой библиотеке

что делает эту библиотеку, чтобы позволить вам создать кнопку материал переключателя дизайн, как в Andorid 5,0

https://github.com/kyleduo/SwitchButton

+1

Пожалуйста, добавьте немного больше информации идет о libary, а не просто разместив ссылку. – JacksOnF1re

+0

Спасибо, что отправил эту ссылку. Я не знал об этой библиотеке. И нажатие на ссылку предоставило больше информации! Идите фигуру. –

+0

@MartyMiller В правом нижнем углу есть кнопка загрузки, вы можете скачать эту библиотеку –

10

Существует большая статья о блог разработчиков Android, в котором обсуждается, как использовать конструкцию материалов на устройствах до Lollipop: http://android-developers.blogspot.com/2014/10/appcompat-v21-material-design-for-pre.html

Чтобы более точно ответить на ваш вопрос, вы можете использовать переключатель стиля Lollipop ч для более старых версий с помощью SwitchCompat API: https://developer.android.com/reference/android/support/v7/widget/SwitchCompat.html

+2

Отличный ответ! Для моделирования SwitchCompat смотрите здесь: http://stackoverflow.com/a/26715076/457059 – stoefln

+0

Это должен быть реальный вопрос ... – desgraci

35

Чтобы иметь кнопку переключения Lollipop стиль на более старых версиях Android вы должны использовать SwitchCompat в макет файла XML

<android.support.v7.widget.SwitchCompat 
     android:id="@+id/compatSwitch" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 

, а также в Java файл

SwitchCompat switchCompat = (SwitchCompat) findViewById(R.id.compatSwitch); 
+2

Кроме того, вы можете удалить уродливый серый фон, который появляется, когда вы выбираете переключатель, используя этот фрагмент кода: android: background = "@ null" – Tobliug

4

API 24 на выключенном выключателе

  <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"/> 
0

Мы используем SwitchCompact в версии леденца или либо вы можете использовать обновленную версию lolliopop его лучше
`введите код здесь

+0

+0

Вы можете отредактировать свой ответ – Saveen

Смежные вопросы