我有一个自定义开关。我希望文本(开/关)在轨道上,而不是拇指上。

我当时想设置一个带有可绘制文本的选择器,并将其设置为开关轨迹。但是我不能将文本设置为形状。有什么想法可以做到吗?

我也想在轨道上添加一些填充,我不希望拇指触碰轨道。
这是我想要的样子:

java - Android中的自定义开关,轨道中的文字-LMLPHP

这是我的足迹形状:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle"
android:visible="true"
android:useLevel="false">
<corners
    android:radius="20dp" />
<size
    android:width="48dp"
    android:height="21dp" />
<stroke
    android:color="#bfbfbf"
    android:width="6dp"/>

最佳答案

关闭屏幕快照

java - Android中的自定义开关,轨道中的文字-LMLPHP

打开屏幕快照

java - Android中的自定义开关,轨道中的文字-LMLPHP

开启图片

java - Android中的自定义开关,轨道中的文字-LMLPHP

关闭图像

java - Android中的自定义开关,轨道中的文字-LMLPHP

缩略图

java - Android中的自定义开关,轨道中的文字-LMLPHP

switch_on_off.xml

    <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:drawable="@drawable/on_switch"/>
    <item android:state_checked="false" android:drawable="@drawable/off_switch"/>
    <item android:drawable="@drawable/off_switch"/>
</selector>

xml代码
<android.support.v7.widget.SwitchCompat
    android:id="@+id/switch_compat"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="20dp"
    app:track="@drawable/switch_on_off"
    android:thumb="@drawable/on_switch_active"/>

尝试上面的代码,让我知道是否发现任何错误.....

关于java - Android中的自定义开关,轨道中的文字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43914326/

10-11 16:40