簡體   English   中英

如何在Kotlin中設置單個菜單項的文本顏色?

[英]How can I set the text color of an individual menu item in Kotlin?

如何在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
        }
        ...

您可以使用可擴展的字符串來實現。使用以下功能:

    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是您的菜單項,然后將顏色更改為您喜歡的顏色。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM