收件箱SwitchCompat按钮

时间:2015-06-26 17:54:06

标签: android switchcompat google-inbox

今天我看到了收件箱应用程序。

我想知道如何在工具栏上创建THAT切换按钮(searchButton左侧)。 我没有找到参考(或者我没有经常搜索)。

谢谢^^

2 个答案:

答案 0 :(得分:2)

这是一个老问题。但是我想回答这个问题,因为我找到了一种在不使用任何第三方库的情况下实现相同目标的方法。

1 - 将SwitchCompat添加到您的布局

 <android.support.v7.widget.SwitchCompat
            style="@style/SwitchCompatStyle"
            android:id="@+id/toolbar_switch"
           android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"/>

2 - 创建XML形状。 switch_thumb_on.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="oval">
            <!--shadow color-->
            <solid android:color="@color/colorGray2" />
        </shape>
    </item>
    <!--padding to have shodow effect-->
    <item
        android:bottom="1dp"
        android:left="0.5dp"
        android:right="0.5dp"
        android:top="0.5dp">

        <!--switch thumb color-->
        <shape android:shape="oval">
            <solid android:color="@color/colorWhite" />
        </shape>
    </item>
    <item
        android:bottom="1dp"
        android:left="0.5dp"
        android:right="0.5dp"
        android:top="0.5dp">

        <!--switch image-->
        <!--NOTE: switch_color_selector is not a color but a selector-->
        <bitmap
            android:src="@drawable/ic_network_on"
            android:tint="@color/switch_color_selector" />
    </item>
</layer-list>

ic_network_on是开关拇指上显示的图标。如果您愿意,可以在此处添加状态/选择器。 switch_color_selector根据状态开关的位置对图标进行着色。

3 - 这是颜色选择器switch_color_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="@color/colorAccent" android:state_checked="true" />
    <item android:color="@color/colorGray1" />
</selector>

4 - 创建要在第一步添加的Switch上应用的样式。

<style name="SwitchCompatStyle" parent="Widget.AppCompat.CompoundButton.Switch" >
        <item name="android:thumb">@drawable/switch_thumb_on</item>
        <item name="trackTint">@color/switch_color_selector</item>
    </style>

这就是我得到的结果。

Thats the result I got.

干杯。

答案 1 :(得分:1)

你走了。 https://android-arsenal.com/details/1/1985

您可以在同一网站中找到类似的资料。它很容易重用已经可用的东西。干杯!!快乐的编码!