2016-05-06 11 views
1

私はメニューを含むバーを持っています。私はビューバーを使用して私は私のバーをすべての単一のページを表示する必要があります。ツールバーのビューページ

は、だから私は同じフラグメントレイアウトのすべてのページを使用する場合、私は私のMainActivityでバーとviewpager_layout.xml

を作成した理由thatsのそのほかの作業が、私はレイアウトの変更をしようとすると、その吸います。ここに私のコード。

MainActivity

@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> 

私は私のバーすべての単一のページを使用するために行う必要があります。 私はすべての断片にバーを作成する必要がありますか?

+0

ごめんなさい申し訳ございません –

+0

あなたのツールバーはあなたのViewPagerのページの一部であってはなりません。あなたのビューページャの外にツールバーを宣言すると、どのページが選択されていても画面上に表示されます。 –

+0

すべてのフラグメントにバーを追加する必要がありますか? –

答えて

1

<include>を使用して別のレイアウトリソースファイルのListViewを自分のフラグメントに追加したからです。

その後、私は新しいレイアウトファイルを作成しました。私はListViewを新しいレイアウトファイルに直接追加しました。その後、私はこの新しいレイアウトファイルmyMainFragment.javaファイルを使用し、最後に私のViewPagerがうまくいきます。

関連する問題