Android,新支持库25,BottomNavigationView实现

Android,新支持库25,BottomNavigationView实现,android,android-support-library,Android,Android Support Library,随着support lib ver 25的发布,google推出了新的BottomNavigationView作为新的API: android.support.design.widget.BottomNavigationView类实现了材质设计规范中的底部导航模式 遗憾的是,这似乎不是真的,也没有真正的文档。显然,BottomNavigationView: 使用xmlns:design=”时无法正常工作http://schema.android.com/apk/res/android.suppo

随着support lib ver 25的发布,google推出了新的
BottomNavigationView
作为新的API:

android.support.design.widget.BottomNavigationView类实现了材质设计规范中的底部导航模式

遗憾的是,这似乎不是真的,也没有真正的文档。显然,
BottomNavigationView

  • 使用
    xmlns:design=”时无法正常工作http://schema.android.com/apk/res/android.support.design“
  • 不支持不同的标签颜色或漂亮的圆形显示颜色效果
  • 不提供任何用于自动隐藏的协调器布局行为
  • 不适用于Snackbar或FAB
  • 不适用于透明的导航栏
  • 没有提到平板电脑
  • 我如何在项目中实现这一点?以及如何设置样式,使其真正实现底部导航模式?

    添加到您的活动中

    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        ...>
    
        ...
    
        <android.support.design.widget.BottomNavigationView
            android:id="@+id/navigation"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            app:menu="@menu/my_navigation_items" />
    
        ...
    
    </FrameLayout>
    

    您可以在此处获得更多信息:

    回复很晚,但下面的解决方案将节省一些人的时间。请检查以下几点

  • 来自版本25+的Bottomnavigationview支持
  • 将SDK更新至最新版本
  • 将项目目标sdk版本设置为25
  • 在apps build.gradle中设置以下配置
  • 编译'com.android.support:appcompat-v7:25.3.1'
    编译'com.android.support:design:25.3.1'
    编译'com.android.support:supportvectorDrawable:25.3.1'
    

    我很奇怪为什么你给我否定的回答却没有回答!!!多么肮脏的世界啊:我也在想同样的事情。新的BottonNavigationView没有提供任何文档,而且无论如何都很糟糕。我认为您提出了一个有趣的问题,Velikodniy提供的答案对任何想要实现这个新的BottonNavigationView的人都非常有用。当前的文档没有说明如何实现它。它没有解决您的问题,但它是一个基本的实现:谢谢,与FAB的结合如何?在
    Snackbar
    构造函数中,您应该提供布局,用第一个参数显示它。如果您想在
    BottomNavigationView
    后面显示它,请尝试使用指向FrameLayout的链接调用Snackbar。文档显示了以下方法来添加菜单项design而不是app:menu。您的理论是错误的,即BottomNavigationView支持Api 25+,因为它在Kitkat Api 19中进行了测试,并且工作正常
    <?xml version="1.0" encoding="utf-8"?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android">
        <item
            android:id="@+id/add"
            android:icon="@android:drawable/ic_menu_add"
            android:title="add" />
        <item
            android:id="@+id/delete"
            android:icon="@android:drawable/ic_menu_delete"
            android:title="delete" />
        <item
            android:id="@+id/call"
            android:icon="@android:drawable/ic_menu_call"
            android:title="call" />
    </menu>
    
    bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
        @Override
        public boolean onNavigationItemSelected(@NonNull MenuItem item) {
            // ...
            return true;
        }
    });