Android:具有自定义背景的切换按钮的高度

Android : Elevation for toggle button with custom Background

我想使用自定义切换按钮。目前我使用以下 xml 文件来定义 "custom" 背景:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/switchon" android:state_checked="true" />
    <item android:drawable="@drawable/switchoff" android:state_checked="false"/>
 </selector>

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#FF0000" />
<corners android:bottomRightRadius="35dp"
    android:bottomLeftRadius="35dp"
    android:topRightRadius="35dp"
    android:topLeftRadius="35dp"/>
</shape>

作为背景。

当我使用以下代码在布局中包含按钮时,它会生成一个 red/green 切换按钮。

<ToggleButton
    android:id="@+id/ToggleButton1"
    android:layout_height="50dp"
    android:layout_marginRight="30dp"
    android:background="@drawable/toggle_button"
    android:text=""
    android:textOff=""
    android:textOn=""
    android:layout_marginStart="99dp"
    android:layout_marginTop="84dp"
    android:layout_width="50dp"
    android:layout_below="@+id/section_label"
    android:layout_toEndOf="@+id/section_label"
    style="@android:style/Widget.Button.Toggle"
    android:checked="true" />

现在我想让这个按钮有一定的高度。添加 android:elevation="2dp" 不会产生任何效果。

谁能告诉我该怎么做?我找不到解决方案。

嘿,使用 SwitchCompat 而不是切换按钮

 <android.support.v7.widget.SwitchCompat
        android:id="@+id/Switch"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textOff=""
        android:text="Toggle Switch"
        android:background="@android:color/transparent"
        android:textOn=""
        android:elevation="5dp"
        android:button="@null"
        android:padding="20dp"/>

这绝对有效

为了解决这个问题,我在 Toggle 按钮下方放置了一个 CardView。设置海拔确实可以立即使用卡片视图。

感谢您的输入! :-)