代码之家  ›  专栏  ›  技术社区  ›  Dennis Vash

使用BottomNavigationView的好方法?

  •  0
  • Dennis Vash  · 技术社区  · 6 年前

    我想在活动之间导航,同时在底部导航中为当前项目着色。

    实现这一目标的最佳方法是什么?

    目前,在我使用 BottomNavigationView (在这种情况下) com.google.android.material.bottomnavigation.BottomNavigationView ),请

    我复制了几乎相同的代码,用于在难以维护的活动之间导航:

    1. 标记电流 itemId
    2. 设置 setOnNavigationItemSelectedListener 没有电流 项目 .

      jesta_bottom_navigation.selectedItemId = R.id.nav_do_jesta
      
      jesta_bottom_navigation.setOnNavigationItemSelectedListener {
      
          val intent = when (it.itemId) {
              R.id.nav_ask_jesta -> {
                  Intent(this@DoJestaActivity, AskJestaActivity::class.java)
              }
              R.id.nav_status -> {
                  Intent(this@DoJestaActivity, StatusActivity::class.java)
              }
              // Settings Activity
              else -> {
                  Intent(this@DoJestaActivity, SettingsActivity::class.java)
              }
          }
          startActivity(intent)
          true
      }
      

    框架\底部\导航\视图.xml

     <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <com.google.android.material.bottomnavigation.BottomNavigationView
            android:id="@+id/jesta_bottom_navigation"
            style="@style/Widget.Jesta.BottomNavigationView"
            android:layout_width="match_parent"
            android:layout_height="@dimen/bottom_bar"
            android:layout_gravity="bottom"
            app:itemIconSize="30dp"
            app:itemIconTint="@drawable/jesta_bottom_navigation_colors"
            app:labelVisibilityMode="unlabeled"
            app:menu="@menu/bottom_nav_drawer_menu" />
    
    </FrameLayout>
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Dennis Vash    6 年前

    使用一个外部库来更快地完成这个任务怎么样