首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android:更改动态添加的开关颜色

Android:更改动态添加的开关颜色
EN

Stack Overflow用户
提问于 2018-06-05 19:04:05
回答 1查看 136关注 0票数 0

Android初学者在这里,所以请容忍我…

我正在使用一个抽屉,其中的菜单项是添加dynamically.Currently的,这是我的代码的样子:

代码语言:javascript
复制
val menu = nav_view.menu
menu.clear()
val selectedCatalogIsEmpty = selectedCatalogs.isEmpty()
for (catalog in catalogs){
    val menuItem = menu.add(R.id.catalog_items, Menu.FIRST + catalog.catalogId, Menu.NONE, catalog.catalogName)
    val switch = Switch(applicationContext)
    menuItem.actionView = switch
    if(selectedCatalogIsEmpty ||
            selectedCatalogs.contains(catalog.catalogId) ) {
        menuItem.isChecked = true
        switch.isChecked = true
        if(selectedCatalogIsEmpty){
            selectedCatalogs.add(catalog.catalogId)
        }
    }

    switch.setOnCheckedChangeListener { _, isChecked -> menuItem.isChecked = isChecked }
}

val menuItemSettings = menu.add(R.id.settings, Menu.NONE+ 5000, Menu.NONE, "Settings" )

现在,我想要做的是在被选中的状态下改变thum的颜色。为了实现这一点,我在styles.xml文件中添加了以下内容:

代码语言:javascript
复制
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorPrimary</item>
    <item name="colorControlNormal">@color/colorWhite</item>
    <item name="colorControlActivated">@color/colorPrimary</item>
</style>

不幸的是,我仍然在运行时得到错误的颜色。而不是蓝色。我得到了一个绿色的拇指:

很明显,我完全没有抓住重点……我已经运行了几次搜索,人们建议使用SwitchCompat而不是Switch。我试过这样做,但我肯定也遗漏了一些东西,因为我最终看到的文本是非常小的大写字母(而不是切换视图中的拇指)。

谢谢。

问候你,路易斯

EN

回答 1

Stack Overflow用户

发布于 2018-06-06 04:29:01

好了,3个多小时后,我终于找到了我的bug:我正在使用applicationContext初始化Switch,但应用程序的主题没有初始化:它只用于为其余的活动应用默认主题。因此,将Switch实例化更新为如下所示即可解决问题:

代码语言:javascript
复制
val switch = Switch(this@MainActivity) //kotlin ref to my activity
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50698514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档