如何根据谷歌新指南实施底部导航选项卡

如何根据谷歌新指南(纯机器人)实现底部导航选项卡。 有什么例子吗?

参考: https : //www.google.com/design/spec/components/bottom-navigation.html

Solutions Collecting From Web of "如何根据谷歌新指南实施底部导航选项卡"

据我所知, 这是第一个自定义解决方案。

更新:

官方BottomNavigationView在支持库25中。

您可以使用支持库v25。

添加build.gradle

 compile 'com.android.support:design:25.0.0' 

在布局中添加BottomNavigationView

  

然后创建一个菜单文件(menu / bottom_navigation_menu.xml):

 < ?xml version="1.0" encoding="utf-8"?>   ....  

然后添加监听器:

 BottomNavigationView bottomNavigationView = (BottomNavigationView) findViewById(R.id.bottom_navigation); bottomNavigationView.setOnNavigationItemSelectedListener( new BottomNavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { switch (item.getItemId()) { case R.id.my_action1: //Do something... break; } return false; } }); 

现在, BottomNavigationView被添加到2016年10月发布的设计支持lib v25.0.0中

BottomNavigationView添加到xml文件中。

对于前者 activity_main.xml中

 < ?xml version="1.0" encoding="utf-8"?>      

将菜单项的xml添加到菜单文件夹中。

对于前者 bottom_navigation_main.xml

 < ?xml version="1.0" encoding="utf-8"?>      

在活动类的OnNavigationItemSelectedListener上设置OnNavigationItemSelectedListener

对于前者 MainActivity.java

 import android.support.design.widget.BottomNavigationView; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.MenuItem; public class MainActivity extends AppCompatActivity { private Fragment fragment; private FragmentManager fragmentManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); fragmentManager = getSupportFragmentManager(); fragment = new FavouriteFragment(); final FragmentTransaction transaction = fragmentManager.beginTransaction(); transaction.add(R.id.main_container, fragment).commit(); BottomNavigationView bottomNavigationView = (BottomNavigationView) findViewById(R.id.bottom_navigation); bottomNavigationView.setOnNavigationItemSelectedListener( new BottomNavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.action_favorites: fragment = new FavouriteFragment(); break; case R.id.action_video: fragment = new VideoFragment(); break; case R.id.action_music: fragment = new MusicFragment(); break; } final FragmentTransaction transaction = fragmentManager.beginTransaction(); transaction.replace(R.id.main_container, fragment).commit(); return true; } }); } } 

在这里查看BottomNavigation-Demo

那里没有代码示例。 虽然现在有自定义库可以完成这项任务。(如上面的post中所述)我不建议使用TabLayout来实现这一点,因为在底部导航选项卡的设计指南中明确提到刷屏幕不应该水平滚动页面。 但是,TabLayout扩展了Horizo​​ntalScrollView,它的主要动机是方便滚动,即使你可以禁用它,它也不是理想的。

正如user6146138所说, https://github.com/roughike/BottomBar是一个很棒的实现。 您可以在这里查看一个很棒的教程,这很容易理解,第2部分将向您展示如何使用附加的片段。

另一个不错的实现是https://github.com/aurelhubert/ahbottomnavigation,如果你想看看它。 我不知道它的任何教程,但链接上的说明足够好IMO。

截至目前,没有代码示例,底部栏不在支持库中(尚未)。 我find了一个模仿指南的第三方库。 它可以在这里find。

我已在此链接添加完整项目的存储库看看https://gitlab.com/ashish29agre/android-bottom-navigation-view-support-lib

嗨这可能是晚了,是xml

        

您可以使用谷歌设计支持库BottomNavigationView 。 在这里阅读答案。

目前还没有代码示例。 但是android安库中有自定义库,这是一个详细的教程,你可以查看它的Android材料设计底部导航

没有官方示例,但请查看以下链接。
非常好的实施。 https://github.com/roughike/BottomBar

您可以使用TabLayout 。 它可以很容易地在屏幕底部对齐。