我有一个switch ,当它打开时,我希望轨迹 colored颜色 是橙色,如果它被关闭,我希望它是灰色的.但是,我不想搞乱现有thhum.xml和track.xml文件的大小.

CUSTOM_Thumb.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <size
        android:width="30dp"
        android:height="30dp" />
    <corners android:radius="15dp" />
    <solid android:color="@color/white" />
</shape>

Custom_track.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <size
        android:width="60dp"
        android:height="30dp" />
    <corners android:radius="15dp" />
    <solid android:color="@color/cold_grey06" />
</shape>

切换交换机到交换机

<Switch
                android:id="@+id/rememberSwitch"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:checked="true"
                android:thumb="@drawable/custom_thumb"
                android:track="@drawable/custom_track" />

推荐答案

您可以在res/color文件夹中创建 colored颜色 资源,例如track_color.xml:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:color="@color/orange"/>
    <item android:color="@color/cold_grey06"/>
</selector>

然后在custom_track.xml米比赛中使用它:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <size
        android:width="60dp"
        android:height="30dp" />
    <corners android:radius="15dp" />
    <solid android:color="@color/track_color" />
</shape>

Android相关问答推荐

在Android Studio Iguana 2023.2.1中,哪里可以找到能量分析器?

Android开发:主题排版不适用于按钮文本

原因平滑滚动的滞后懒惰列在android jetpack compose

OverridePendingTransition已弃用,我该怎么办?

Android Studio SQLite 错误:列不正确(没有这样的列:_id)

Play store 的 Play 完整性与 Firebase 应用判断 Play 完整性

Camera2 将图像从 ImageReader 传递到 MediaRecorder

Jetpack Compose with Paging 3 发出太多网络请求

在模块 jetified-kotlin-stdlib-1.8.10 中发现重复的类 kotlin.random.jdk8,带有启动基准

如何在jetpack compose中通过lamda返回columnScope/RowScope

如何在 Jetpack Compose 中禁用 Horizo​​ntalPager 的分页动画

ImageBitmap 使用 Glide/Coil 到画布

Kotlin Coroutines Dispatchers.IO 没有创建预期的线程

从expose 的 dropdownMenu 可组合、jetpack 组合中 Select 选项时,不会触发文本字段的 onValueChange

Android活动系统导航栏 colored颜色 ?

如何使用 Glide 将图像下载到设备内部存储

任何 IRCTC 的公共 API 来判断 PNR 状态和座位可用性?

在 android-billing-5.0 中获取 ProductDetails 价格

Android Java Keystore 在另一台机器上损坏

创建后文件不存在