web-dev-qa-db-ja.com

Lollipopスイッチボタンの使用方法

私は自分のアプリにLollipopスタイルの切り替えボタンが必要です。

enter image description here

アンドロイドの古いバージョンでもこのように見えるようにこのボタンを実装するにはどうすればよいですか?

19
stoefln

最初にAndroid:targetSdkVersion="22"をマニフェストに追加して、アプリをLollipopと互換性のあるものにします。

注:スイッチの色はこれに依存します

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

styles.xml in 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デフォルトのフォルダーvaluesまたはvalues-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>
11
ch3tanz

古いバージョンのAndroidでLollipopスタイルの切り替えボタンを使用するには、レイアウトXMLファイルでSwitchCompatを使用する必要があります

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

また、Java file

SwitchCompat switchCompat = (SwitchCompat) findViewById(R.id.compatSwitch);
43
dzikovskyy

Android Developers Blogには、Lollipop以前のデバイスでマテリアルデザインを使用する方法を説明した素晴らしい記事があります。 http://Android-developers.blogspot.com/2014/ 10/appcompat-v21-material-design-for-pre.html

より具体的に質問に答えるには、SwitchCompat AP​​Iを使用して、古いバージョンのLollipopスタイルスイッチを使用できます。 https://developer.Android.com/reference/Android/support/v7/ widget/SwitchCompat.html

10
Willis

オフスイッチの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"/>
5
A.G.THAMAYS

私はあなたが必要とするものはその図書館にあると思います

このライブラリは、andorid 5.0のようなマテリアルデザインの切り替えボタンを作成できるようにします

https://github.com/kyleduo/SwitchButton

0

LollipopバージョンでSwitchCompactを使用しているか、更新されたlolliopopバージョンを使用できます

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

古いタイプのスイッチを解決するために

switch_old

  1. minsdkversionとtargetsdkversionをそれぞれ19と28に更新します。
    1. gradle依存関係を実装「com.Android.support:appcompat-v7:28.0.0」に更新します
    2. style.xmlでベースアプリのテーマを次のように設定します

`

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorAccent">@color/colorAccent</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    </style>`

そして、最新の材料設計でスイッチを解決します。

0
Shweta Bhagat