【问题标题】:How can I set the text color of an individual menu item in Kotlin?如何在 Kotlin 中设置单个菜单项的文本颜色?
【发布时间】:2018-07-02 05:09:39
【问题描述】:

如何在 Kotlin 中设置单个菜单项的文本颜色?

private val mOnNavigationItemSelectedListener = BottomNavigationView.OnNavigationItemSelectedListener { item ->
    when (item.itemId) {
        R.id.navigation_home -> {
            toolbar.title = "Home"
            item.actionview.SetColor(ContextCompat.getColor(applicationContext, R.color.highlight))
            val homeFragment = HomeFragment.newInstance()
            openFragment(homeFragment)
            return@OnNavigationItemSelectedListener true
        }
        ...

【问题讨论】:

    标签: android menu kotlin menuitem


    【解决方案1】:

    你可以用spannable string来做到这一点 使用这些函数:

        fun getColoredSpannableString(s: String, color: Int): SpannableString {
            val str = SpannableString(s)
            str.setSpan(ForegroundColorSpan(color), 0, s.length, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
            return str
        }
    
        fun makeMenuItemColored(mi: MenuItem, color: Int) {
            mi.title = getColoredSpannableString(mi.title.toString(), color)
        }
    

    并从您的活动电话中:
    makeMenuItemColored(mi, ContextCompat.getColor(this, R.color.colorPrimary))
    其中mi 是您的菜单项并将颜色更改为您喜欢的任何颜色。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-31
      • 1970-01-01
      • 2012-05-30
      • 2015-08-09
      • 1970-01-01
      • 2011-03-31
      • 1970-01-01
      相关资源
      最近更新 更多