diff --git a/.idea/modules.xml b/.idea/modules.xml
index 7c640678..bb5dec50 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -3,8 +3,11 @@
+
+
+
\ No newline at end of file
diff --git a/README.md b/README.md
index 90212cb7..a75e4c95 100644
--- a/README.md
+++ b/README.md
@@ -165,6 +165,32 @@ bottomBar.setTabSelectionInterceptor(new TabSelectionInterceptor() {
});
```
+### Setting up with ViewPager
+
+If you want to set up the tabs with ViewPager (v4), which usually is the case of tabs with FragmentPagerAdapter,
+you dont have to do any extra work, just pass your ViewPager in ```setUpWithViewPager()``` method. And it will behave
+accordingly. Any change in tab will update fragment (ViewPager) and any change in ViewPager (slide/setCurrentItem)
+will update tabs.
+
+```java
+
+ // get viewpager instance
+ viewPager = (ViewPager) findViewById(R.id.viewpager_button);
+
+ // initiate viewpager adapter
+ ViewPagerAdapter viewPagerAdapter = new ViewPagerAdapter(getSupportFragmentManager());
+
+
+ // set adapter to viewpager
+ viewPager.setAdapter(viewPagerAdapter);
+
+ // just add viewpager to bottombar
+ bottomBar.setUpWithViewPager(viewPager);
+
+ // Now viewpager and bottom bar will work together
+```
+
+
### Changing icons based on selection state
If you want to have different icon when a specific tab is selected, just use state list drawables.
diff --git a/app/build.gradle b/app/build.gradle
index 434d4acd..b73e6d7c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -32,6 +32,6 @@ dependencies {
androidTestCompile 'com.android.support.test:runner:0.5'
androidTestCompile 'com.android.support.test:rules:0.5'
androidTestCompile 'org.mockito:mockito-core:1.10.19'
- androidTestCompile "com.google.dexmaker:dexmaker:1.2"
- androidTestCompile "com.google.dexmaker:dexmaker-mockito:1.2"
+ androidTestCompile 'com.google.dexmaker:dexmaker:1.2'
+ androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index fd181570..f6f4add6 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -19,10 +19,15 @@
-
-
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/example/bottombar/sample/MainActivity.java b/app/src/main/java/com/example/bottombar/sample/MainActivity.java
index 87a23cd2..b5b5e134 100644
--- a/app/src/main/java/com/example/bottombar/sample/MainActivity.java
+++ b/app/src/main/java/com/example/bottombar/sample/MainActivity.java
@@ -17,6 +17,7 @@ protected void onCreate(Bundle savedInstanceState) {
findViewById(R.id.five_tabs_changing_colors).setOnClickListener(this);
findViewById(R.id.three_tabs_quick_return).setOnClickListener(this);
findViewById(R.id.five_tabs_custom_colors).setOnClickListener(this);
+ findViewById(R.id.viewpager_button).setOnClickListener(this);
findViewById(R.id.badges).setOnClickListener(this);
}
@@ -40,6 +41,9 @@ public void onClick(View v) {
case R.id.five_tabs_custom_colors:
clazz = CustomColorAndFontActivity.class;
break;
+ case R.id.viewpager_button:
+ clazz = ViewPagerActivity.class;
+ break;
case R.id.badges:
clazz = BadgeActivity.class;
break;
diff --git a/app/src/main/java/com/example/bottombar/sample/ViewPagerActivity.java b/app/src/main/java/com/example/bottombar/sample/ViewPagerActivity.java
new file mode 100644
index 00000000..7fbeabcd
--- /dev/null
+++ b/app/src/main/java/com/example/bottombar/sample/ViewPagerActivity.java
@@ -0,0 +1,92 @@
+package com.example.bottombar.sample;
+
+import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentManager;
+import android.support.v4.app.FragmentStatePagerAdapter;
+import android.support.v4.view.ViewPager;
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+
+import com.roughike.bottombar.BottomBar;
+
+/**
+ * The ViewPager example activity.
+ * This illustrates how simply you can hook up bottom bar with your viewpager by calling just one method
+ * Please note that you need a working viewpager adapter to achieve error free results.
+ */
+public class ViewPagerActivity extends AppCompatActivity {
+
+ /**
+ * The View pager.
+ */
+ ViewPager viewPager;
+ /**
+ * The Bottom bar.
+ */
+ BottomBar bottomBar;
+
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_view_pager);
+
+
+ // initialize views by xml references
+ initViews();
+
+ // initiate viewpager
+ ViewPagerAdapter viewPagerAdapter = new ViewPagerAdapter(getSupportFragmentManager());
+
+
+ // set adapter to viewpager
+ viewPager.setAdapter(viewPagerAdapter);
+
+ // just add viewpager to bottombar
+ bottomBar.setUpWithViewPager(viewPager);
+
+ // Now viewpager and bottom bar will work together
+
+
+ }
+
+
+ private void initViews() {
+
+ viewPager = (ViewPager) findViewById(R.id.viewpager_button);
+ bottomBar = (BottomBar) findViewById(R.id.bottomBar);
+
+ }
+
+ /**
+ * The View pager adapter to manage fragments.
+ */
+
+ public class ViewPagerAdapter extends FragmentStatePagerAdapter {
+
+
+ /**
+ * Instantiates a new View pager adapter.
+ *
+ * @param fm the SupportFragmentManager object
+ */
+ public ViewPagerAdapter(FragmentManager fm) {
+ super(fm);
+ }
+
+
+
+ @Override
+ public Fragment getItem(int position) {
+
+
+ return SampleFragment.newInstance("This is Fragment #" + (position + 1));
+ }
+
+ @Override
+ public int getCount() {
+ return 3; // working with 3 fragments for now
+ }
+ }
+
+}
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index e90ec527..2c9d03ab 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -43,6 +43,12 @@
android:layout_height="wrap_content"
android:text="Three tabs with Quick Return" />
+
+