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

时间:2016-09-28 14:39:12

标签: android android-layout togglebutton android-elevation

我想使用自定义切换按钮。目前我使用以下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>

作为背景。

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

<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 =&#34; 2dp&#34;没有产生任何影响。

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

2 个答案:

答案 0 :(得分:0)

嘿使用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"/>

这肯定会起作用

答案 1 :(得分:0)

为了解决这个问题,我在切换按钮下面放了一个CardView。使用卡片视图可以立即设置高程。

感谢您的投入! : - )