Android 带工具栏的Viewpager

Android 带工具栏的Viewpager,android,android-layout,android-fragments,Android,Android Layout,Android Fragments,我有一个包括菜单的酒吧。我正在使用viewbar,我需要在每个页面上显示我的工具栏 这就是为什么我在MainActivity和viewpager_layout.xml中创建了我的栏 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical"

我有一个包括菜单的酒吧。我正在使用viewbar,我需要在每个页面上显示我的工具栏

这就是为什么我在MainActivity和viewpager_layout.xml中创建了我的栏

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
<com.ashokvarma.bottomnavigation.BottomNavigationBar
    android:layout_gravity="bottom"
    android:id="@+id/bottom_navigation_bar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>
<android.support.v4.view.ViewPager
    android:id="@+id/viewPager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    />

</LinearLayout>
如果我在每个页面上使用相同的片段布局,它会工作得很好,但当我尝试更改布局时,它会很糟糕。这是我的密码

主要活动

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.viewpager_layout);
    ViewPager vpPager = (ViewPager) findViewById(R.id.viewPager);
    adapterViewPager = new viewPagerAdapter(getSupportFragmentManager());
    vpPager.setAdapter(adapterViewPager);
    vpPager.setCurrentItem(0);

    getBottomBar();

    // Attach the page change listener inside the activity
    vpPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {

        // This method will be invoked when a new page becomes selected.
        @Override
        public void onPageSelected(int position) {

            Toast.makeText(MainActivity.this,
                    "Seçilen sayfa: " + position, Toast.LENGTH_SHORT).show();

            if (position == 0)
            {
                bottomNavigationBar.selectTab(0);
            }
            if (position == 1)
            {
                bottomNavigationBar.selectTab(1);
            }
        }

        // This method will be invoked when the current page is scrolled
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
            // Code goes here
        }

        // Called when the scroll state changes:
        // SCROLL_STATE_IDLE, SCROLL_STATE_DRAGGING, SCROLL_STATE_SETTLING
        @Override
        public void onPageScrollStateChanged(int state) {
            // Code goes here
        }
    });
}
BottomNavigationBar bottomNavigationBar;
private void getBottomBar() {
    bottomNavigationBar = (BottomNavigationBar) findViewById(R.id.bottom_navigation_bar);

    bottomNavigationBar
            .addItem(new BottomNavigationItem(R.drawable.home, "Anasayfa"))
            .addItem(new BottomNavigationItem(R.drawable.group, "Gruplar"))
            .addItem(new BottomNavigationItem(R.drawable.counter, "Votloc"))
            .addItem(new BottomNavigationItem(R.drawable.date, "Profil"))
            .addItem(new BottomNavigationItem(R.drawable.password, "Daha Fazla"))
            .initialise();
    bottomNavigationBar.setTabSelectedListener(new BottomNavigationBar.OnTabSelectedListener(){
        @Override
        public void onTabSelected(int position) {
        }
        @Override
        public void onTabUnselected(int position) {
        }
        @Override
        public void onTabReselected(int position) {
        }
    });
    bottomNavigationBar
            .setMode(BottomNavigationBar.MODE_FIXED);
    bottomNavigationBar
            .setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_RIPPLE);
    bottomNavigationBar
            .setActiveColor(R.color.colorPrimary)
            .setInActiveColor("#FFFFFF")
            .setBarBackgroundColor("#FF1717");


}
viewpager_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
<com.ashokvarma.bottomnavigation.BottomNavigationBar
    android:layout_gravity="bottom"
    android:id="@+id/bottom_navigation_bar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>
<android.support.v4.view.ViewPager
    android:id="@+id/viewPager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    />

</LinearLayout>

我应该如何使用我的酒吧每一页。
我必须在每个片段中创建条吗?

我意识到这是因为我使用
从另一个布局资源文件将
列表视图添加到片段中


之后,我创建了一个新的布局文件,并将我的
ListView
直接包含到新的布局文件中。然后我将这个新的布局文件用于
myMainFragment.java
文件,最后我的
ViewPager
运行良好。

您的工具栏不应该是ViewPager中页面的一部分。如果您将工具栏声明在查看页面外,那么无论选择哪个页面,它都会出现在屏幕上。因此,我必须将我的工具栏添加到每个片段中吗?不,这与我刚才所说的相反:)在活动布局中,您有一个工具栏和一个查看页面。查看页面将显示片段页面。每个片段都可以有自己的布局,但是工具栏不应该在片段布局中,它应该在活动的布局中是的,这就是我想要的。但是我不能显示我的工具栏。在第一个片段中它看起来没有菜单,在我的第二个片段中它没有显示自己。但当我为两个片段选择相同的布局时,它看起来很棒。我们可能彼此不了解。如果工具栏位于viewpager之外,则无论当前显示的是什么片段,它都将保持相同的外观。因为工具栏不是片段的一部分,它是活动的一部分。我想你应该附上截图,这样我才能理解这个问题。