其他分享
首页 > 其他分享> > android – 如何创建类似于instagram的底部导航栏

android – 如何创建类似于instagram的底部导航栏

作者:互联网

我是一个Android新手试图为我的新Android应用程序创建一个底部导航栏,类似于Instagram中的那个.像这个instagram.jpg,点击搜索图标会在操作栏中添加搜索栏.
我正在构建一个应用程序,用于提醒用户他的医疗预约,底部有三个导航标签.我已经创建到Screenshot_2017-06-04-11-59-56.png之后我被卡住了.我应该使用三个活动来显示相应选项卡或片段的内容,我该如何实现.

我需要一个recyclerview来显示约会.如何仅在单击底部的搜索图标时才显示搜索栏.
 已经搜索了很多关于实现这一点,但找不到任何有用的东西.

对代码或库实现相同的任何建议都将是非常有用的,谢谢.

解决方法:

Should I use three activities to display the content of corresponding
tabs or fragments and how can I achieve that?

肯定你应该为每个底部导航项目/标签使用Fragment.像FragmentHome,FragmentSearch和FragmentSettings.

要更改片段,请将NavigationItemSelectedListener添加到BottomNavigationView并根据MenuItem选择更改片段:

    BottomNavigationView bottomNavigationView = (BottomNavigationView)
            findViewById(R.id.bottom_navigation_view);

    bottomNavigationView.setOnNavigationItemSelectedListener
            (new BottomNavigationView.OnNavigationItemSelectedListener() {
                @Override
                public boolean onNavigationItemSelected(@NonNull MenuItem item) {
                    Fragment selectedFragment = null;
                    switch (item.getItemId()) {
                        case R.id.action_item1:
                            selectedFragment = FragmentHome.newInstance();
                            break;
                        case R.id.action_item2:
                            selectedFragment = FragmentSearch.newInstance();
                            break;
                        case R.id.action_item3:
                            selectedFragment = FragmentSettings.newInstance();
                            break;
                    }
                    FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
                    transaction.replace(R.id.frame_layout, selectedFragment);
                    transaction.commit();
                    return true;
                }
            });

这是一个关于:BottomNavigationView with multiple Fragments的教程

I need a recyclerview to display appointments

在Fragment的布局XML中,添加RecyclerView以显示约会列表.在Fragment类中,初始化RecyclerView并创建一个ArrayList< Appointment>并将此列表传递给您的适配器以显示在RecyclerView行项目上.

这是一个关于:How to use RecyclerView in Fragment的教程

How can I display the search bar only when the search icon at bottom
is clicked?

您可以根据Fragment更改以编程方式从ToolBar / ActionBar显示/隐藏选项.

在FragmentSearch中,执行以下更改以显示搜索栏:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setHasOptionsMenu(true);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState)
{
    View v = inflater.inflate(R.layout.fragmet_search, parent, false);
    return v;
}


@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
   inflater.inflate(R.menu.your_search_menu_xml, menu);
   super.onCreateOptionsMenu(menu, inflater);
}

以下是一些有用的链接:

> Android Toolbar Adding Menu Items for different fragments
> Hide/Show Action Bar Option Menu Item for different fragments
> Adding ActionBar Items From Within Your Fragments

希望这有助于理解这种情况.

标签:bottomnavigationview,android,android-fragments,android-recyclerview,instagram
来源: https://codeday.me/bug/20191004/1852453.html