Android 带有图像的单材质切换按钮

Android 带有图像的单材质切换按钮,android,material-design,android-button,material-components-android,Android,Material Design,Android Button,Material Components Android,我在应用程序中使用Google Material design library,它没有切换按钮,这让我非常惊讶。但如果我需要一个按钮来打开和关闭,我该怎么办呢。我的用例是打开时显示一个图像,关闭时显示另一个图像。我试着用开关来做,但是需要很多复杂的定制。有什么方法可以使用简单的材质按钮作为切换按钮吗?您可以使用以下内容: <com.google.android.material.button.MaterialButton android:id="@+id/toogleBu

我在应用程序中使用Google Material design library,它没有切换按钮,这让我非常惊讶。但如果我需要一个按钮来打开和关闭,我该怎么办呢。我的用例是打开时显示一个图像,关闭时显示另一个图像。我试着用开关来做,但是需要很多复杂的定制。有什么方法可以使用简单的材质按钮作为切换按钮吗?

您可以使用以下内容:

<com.google.android.material.button.MaterialButton
    android:id="@+id/toogleButtton"
    style="@style/ToggleButton"
    android:checkable="true"
    android:layout_width="48dp"
    android:layout_height="48dp"
    app:icon="@drawable/ic_add_24px"/>
在样式中自定义您的颜色:

<style name="ToggleButton" parent="Widget.MaterialComponents.Button.TextButton">
    <item name="iconTint">?attr/colorPrimary</item>
    <item name="android:insetTop">0dp</item>
    <item name="android:insetBottom">0dp</item>
    <item name="android:padding">12dp</item>
    <item name="rippleColor">@color/mtrl_btn_ripple_color</item>
</style>

?属性/颜色初级
0dp
0dp
12dp
@颜色/mtrl\U btn\U波纹\U颜色

<style name="ToggleButton" parent="Widget.MaterialComponents.Button.TextButton">
    <item name="iconTint">?attr/colorPrimary</item>
    <item name="android:insetTop">0dp</item>
    <item name="android:insetBottom">0dp</item>
    <item name="android:padding">12dp</item>
    <item name="rippleColor">@color/mtrl_btn_ripple_color</item>
</style>