简体   繁体   中英

How do i set transparency(alpha) to bottom menu items kotlin

my nav panel I need to change bottom nav panel item's alpha, when choosing some element in it. For example, if i pick Documents, my documents fragment opens and the other elements in menu (Reader Mode and Settings) should be less bright. Guess i should use alpha property, but no idea how i do it. So finally menu should have this look: needed result

Menu code:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/documents"
        android:title="Documents"
        android:icon="@drawable/documents_icon" />

    <item
        android:id="@+id/reader_mode"
        android:title="Reader Mode"
        android:icon="@drawable/reader_mode_icon"/>
    <item
        android:id="@+id/settings"
        android:title="Settings"
        android:icon="@drawable/settings_icon"/>
</menu>

Some XML code:

<com.google.android.material.bottomnavigation.BottomNavigationView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#1e1e1e"
    android:id="@+id/bottom_navigation_menu"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:menu="@menu/menu"
    tools:ignore="MissingConstraints"
    app:itemIconTint="@color/white"
    app:itemTextColor="@color/white"/>

And code from .kt file:

class LyricsListActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_lyrics_list)

    bottom_navigation_menu.setOnNavigationItemReselectedListener {
        when (it.itemId){
             R.id.documents -> TODO()
            }
        }
    }
}

I think the best way to do change items is with darawable select let' say this the content of your documents_icon.xml

 <selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true">
<!--your xml with color1 -->
</item> 

    <item android:state_selected="false">
<!--your xml with color2 -->
</item> 
</selector>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM