自定义开关未显示在Android KitKat 4.4.4上

时间:2019-03-14 08:00:51

标签: android android-drawable android-4.4-kitkat

我已经制作了自定义Switch,它在除KitKat之外的所有android版本上都能正常工作。它不在KitKat 4.4.4屏幕上。如何使它在KitKat上可见?任何帮助都会很棒!

xml代码:

<Switch
    android:id="@+id/checkbox_missed"
    android:layout_marginTop="20dp"
    android:textSize="16dp"
    android:text="Enable Missed Calls "
    android:gravity="left"
    android:thumbTextPadding="25dp"
    android:textOn=""
    android:textOff=""
    android:track="@drawable/rectangle_track"
    android:thumb="@drawable/rectangle_thumb"
    android:layout_marginLeft="25dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

rectangle_track.xml : 


   <selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_checked="true">
    <shape android:shape="rectangle">
        <corners android:radius="6dp"/>
        <solid android:color="@color/colorGreyGreen"/>
    </shape>
</item>

<item android:state_checked="false">
    <shape android:shape="rectangle">
        <corners android:radius="6dp"/>
        <solid android:color="@color/colorSilver"/>
    </shape>
</item>
</selector>

rectangle_thumb:

<shape android:shape="rectangle"      
    xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#ffffff"/>
        <corners android:radius="5dp"/>
        <size android:height="24dp" android:width="24dp"/>
    <stroke android:width="4dp" android:color="@android:color/transparent"/>
</shape>

1 个答案:

答案 0 :(得分:1)

我不知道确切的详细信息,但SwitchCompat似乎可以与KK 19配合使用。

<android.support.v7.widget.SwitchCompat
    android:id="@+id/checkbox_missed"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="left"
    android:text="Enable Missed Calls "
    android:textOff=""
    android:textOn=""
    android:textSize="16dp"
    android:thumbTextPadding="25dp"
    app:track="@drawable/rectangle_track"
    android:thumb="@drawable/rectangle_thumb"
    tools:checked="true" />