diff --git a/app/build.gradle b/app/build.gradle
index 59ee41c..ecf4bcc 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -43,4 +43,8 @@ dependencies {
compile 'com.github.siyamed:android-shape-imageview:0.9.+@aar'
//cardview
compile 'com.android.support:cardview-v7:26.1.0'
+ //tablayout
+ compile 'com.flyco.tablayout:FlycoTabLayout_Lib:2.0.0@aar'
+ //viewpager transforms
+// compile 'com.ToxicBakery.viewpager.transforms:view-pager-transforms:1.2.32@aar'
}
diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/adapter/HomePagerAdapter.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/adapter/HomePagerAdapter.java
new file mode 100644
index 0000000..770fd09
--- /dev/null
+++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/adapter/HomePagerAdapter.java
@@ -0,0 +1,57 @@
+package com.example.ninefourone.nutritionmaster.adapter;
+
+import android.content.Context;
+import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentManager;
+import android.support.v4.app.FragmentPagerAdapter;
+
+import com.example.ninefourone.nutritionmaster.R;
+import com.example.ninefourone.nutritionmaster.modules.viewpagerfragments.page1.Page1;
+import com.example.ninefourone.nutritionmaster.modules.viewpagerfragments.page2.BodyInformationFragment;
+import com.example.ninefourone.nutritionmaster.modules.viewpagerfragments.page3.Page3;
+
+
+/**
+ * Created by Wangtianrui on 2018/5/1.
+ */
+
+public class HomePagerAdapter extends FragmentPagerAdapter {
+ private final String[] TITLES;
+ private Fragment[] fragments;
+
+ public HomePagerAdapter(FragmentManager fm, Context context) {
+ super(fm);
+ TITLES = context.getResources().getStringArray(R.array.sections);
+ fragments = new Fragment[TITLES.length];
+ }
+
+ @Override
+ public Fragment getItem(int position) {
+ if (fragments[position] == null) {
+ switch (position) {
+ case 0:
+ fragments[position] = Page1.getInstance();
+ break;
+ case 1:
+ fragments[position] = BodyInformationFragment.getInstance();
+ break;
+ case 2:
+ fragments[position] = Page3.getInstance();
+ break;
+ default:
+ break;
+ }
+ }
+ return fragments[position];
+ }
+
+ @Override
+ public int getCount() {
+ return TITLES.length;
+ }
+
+ @Override
+ public CharSequence getPageTitle(int position) {
+ return TITLES[position];
+ }
+}
diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/base/BaseFragment.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/base/BaseFragment.java
index 94bac8e..6631ea7 100644
--- a/app/src/main/java/com/example/ninefourone/nutritionmaster/base/BaseFragment.java
+++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/base/BaseFragment.java
@@ -50,6 +50,7 @@ public abstract class BaseFragment extends Fragment {
public abstract void initView(Bundle state);
+
@Override
public void onResume() {
super.onResume();
diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/MainActivity.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/MainActivity.java
index b24989f..02dfa2c 100644
--- a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/MainActivity.java
+++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/MainActivity.java
@@ -3,8 +3,12 @@ package com.example.ninefourone.nutritionmaster.modules;
import android.os.Bundle;
import android.widget.LinearLayout;
+
import com.example.ninefourone.nutritionmaster.R;
+import com.example.ninefourone.nutritionmaster.adapter.HomePagerAdapter;
import com.example.ninefourone.nutritionmaster.base.BaseActivity;
+import com.example.ninefourone.nutritionmaster.ui.NoScrollViewPager;
+import com.flyco.tablayout.SlidingTabLayout;
import com.mxn.soul.flowingdrawer_core.ElasticDrawer;
import com.mxn.soul.flowingdrawer_core.FlowingDrawer;
@@ -18,6 +22,10 @@ public class MainActivity extends BaseActivity {
FlowingDrawer mDrawer;
@BindView(R.id.navigation_layout)
LinearLayout navigationLayout;
+ @BindView(R.id.view_pager)
+ NoScrollViewPager viewPager;
+ @BindView(R.id.sliding_tab_layout)
+ SlidingTabLayout slidingTabLayout;
@Override
@@ -41,6 +49,20 @@ public class MainActivity extends BaseActivity {
// Logger.i("openRatio=" + openRatio + " ,offsetPixels=" + offsetPixels);
}
});
+ initViewPager();
+ }
+
+ /**
+ * 初始化ViewPager
+ */
+ private void initViewPager() {
+ HomePagerAdapter homePagerAdapter = new HomePagerAdapter(getSupportFragmentManager(), this);
+ viewPager.setOffscreenPageLimit(3);
+ viewPager.setAdapter(homePagerAdapter);
+// viewPager.setPageTransformer(true, new RotateUpTransformer());
+ slidingTabLayout.setViewPager(viewPager);
+ viewPager.setCurrentItem(1);
+
}
@Override
diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/page1/Page1.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/page1/Page1.java
new file mode 100644
index 0000000..24a795d
--- /dev/null
+++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/page1/Page1.java
@@ -0,0 +1,27 @@
+package com.example.ninefourone.nutritionmaster.modules.viewpagerfragments.page1;
+
+import android.os.Bundle;
+
+import com.example.ninefourone.nutritionmaster.R;
+import com.example.ninefourone.nutritionmaster.base.BaseFragment;
+
+/**
+ * Created by ScorpioMiku on 2018/8/26.
+ */
+
+public class Page1 extends BaseFragment {
+ @Override
+ public int getLayoutResId() {
+ return R.layout.page_1;
+ }
+
+ @Override
+ public void initView(Bundle state) {
+
+ }
+
+
+ public static BaseFragment getInstance() {
+ return new Page1();
+ }
+}
diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/page2/BodyInformationFragment.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/page2/BodyInformationFragment.java
new file mode 100644
index 0000000..3083ba5
--- /dev/null
+++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/page2/BodyInformationFragment.java
@@ -0,0 +1,27 @@
+package com.example.ninefourone.nutritionmaster.modules.viewpagerfragments.page2;
+
+import android.os.Bundle;
+
+import com.example.ninefourone.nutritionmaster.R;
+import com.example.ninefourone.nutritionmaster.base.BaseFragment;
+
+/**
+ * Created by ScorpioMiku on 2018/8/26.
+ */
+
+public class BodyInformationFragment extends BaseFragment {
+ @Override
+ public int getLayoutResId() {
+ return R.layout.page_2;
+ }
+
+ @Override
+ public void initView(Bundle state) {
+
+ }
+
+
+ public static BaseFragment getInstance() {
+ return new BodyInformationFragment();
+ }
+}
diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/page3/Page3.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/page3/Page3.java
new file mode 100644
index 0000000..fd1d881
--- /dev/null
+++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/page3/Page3.java
@@ -0,0 +1,27 @@
+package com.example.ninefourone.nutritionmaster.modules.viewpagerfragments.page3;
+
+import android.os.Bundle;
+
+import com.example.ninefourone.nutritionmaster.R;
+import com.example.ninefourone.nutritionmaster.base.BaseFragment;
+
+/**
+ * Created by ScorpioMiku on 2018/8/26.
+ */
+
+public class Page3 extends BaseFragment {
+ @Override
+ public int getLayoutResId() {
+ return R.layout.page_3;
+ }
+
+ @Override
+ public void initView(Bundle state) {
+
+ }
+
+
+ public static BaseFragment getInstance() {
+ return new Page3();
+ }
+}
diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/ui/NoScrollViewPager.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/ui/NoScrollViewPager.java
new file mode 100644
index 0000000..8b83745
--- /dev/null
+++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/ui/NoScrollViewPager.java
@@ -0,0 +1,34 @@
+package com.example.ninefourone.nutritionmaster.ui;
+
+import android.content.Context;
+import android.support.v4.view.ViewPager;
+import android.util.AttributeSet;
+
+/**
+ * Created by Wangtianrui on 2018/5/1.
+ * 重写Viewpager解决点击tab去除滑动动画效果的问题
+ */
+public class NoScrollViewPager extends ViewPager {
+ public NoScrollViewPager(Context context) {
+ super(context);
+ }
+
+ public NoScrollViewPager(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ @Override
+ public void scrollTo(int x, int y) {
+ super.scrollTo(x, y);
+ }
+
+ @Override
+ public void setCurrentItem(int item, boolean smoothScroll) {
+ super.setCurrentItem(item, smoothScroll);
+ }
+
+ @Override
+ public void setCurrentItem(int item) {
+ super.setCurrentItem(item, false);
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/test_avatar.jpg b/app/src/main/res/drawable/test_avatar.jpg
index 279015b..e9a5988 100644
Binary files a/app/src/main/res/drawable/test_avatar.jpg and b/app/src/main/res/drawable/test_avatar.jpg differ
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 78f1ebd..53d685e 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -65,7 +65,29 @@
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/page_1.xml b/app/src/main/res/layout/page_1.xml
new file mode 100644
index 0000000..95936f2
--- /dev/null
+++ b/app/src/main/res/layout/page_1.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/page_2.xml b/app/src/main/res/layout/page_2.xml
new file mode 100644
index 0000000..0dc0a74
--- /dev/null
+++ b/app/src/main/res/layout/page_2.xml
@@ -0,0 +1,10 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/page_3.xml b/app/src/main/res/layout/page_3.xml
new file mode 100644
index 0000000..26fb377
--- /dev/null
+++ b/app/src/main/res/layout/page_3.xml
@@ -0,0 +1,10 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
new file mode 100644
index 0000000..3741717
--- /dev/null
+++ b/app/src/main/res/values/arrays.xml
@@ -0,0 +1,8 @@
+
+
+
+ - page1
+ - page2
+ - page3
+
+
\ No newline at end of file