ViewPager与底部导航栏的搭配使用
关于我
方法一:ViewPager与底部导航栏的搭配使用
方法二:FrameLayout与底部导航栏的搭配使用(底部导航栏使用了第三方依赖库)
可滑动、可点击切换界面
activity_home.xml
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31<LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_centerVertical="true" android:orientation="horizontal" > <--四个button--> <Button android:id="@+id/btn_shouye" android:layout_width="@dimen/x80" android:layout_height="@dimen/x33" android:layout_gravity="center_vertical" android:background="@drawable/weiketang_shouye_topbar_bg_item_select" android:text="@string/app_tab_1" android:textColor="@android:color/white" android:textSize="@dimen/android_text_size_24" /> </LinearLayout> <androidx.viewpager.widget.ViewPager android:id="@+id/fl_content" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center" android:flipInterval="30" android:layout_above="@id/tab" android:layout_below="@id/ly_home_top" android:persistentDrawingCache="animation" />
Main_activity.java
声明变量:
复制代码
1
2
3
4
5
6
7
8
9private List<Fragment> mFragment = new ArrayList<Fragment>(); private ArrayList<Button> buttons; //四个button private Button btn_shouye; private Button btn_kecheng; private Button btn_lishijilv; private Button btn_mycollection; private static ViewPager mPager;// 页卡内容
初始化
InitView
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54private void InitPage() { // TODO Auto-generated method stub mPager = (ViewPager) findViewById(R.id.vPager); mFragment.add(new MainActivity_App_Tab_1());//界面一 mFragment.add(new MainActivity_App_Tab_2());//界面二 mFragment.add(new MainActivity_App_Tab_3());界面三 mFragment.add(new MainActivity_App_Tab_4());//界面四 mAdapter = new FragmentPagerAdapter(getSupportFragmentManager()) { @Override public int getCount() { return mFragment.size(); } @Override public Fragment getItem(int position) { return mFragment.get(position); } }; mPager.setAdapter(mAdapter); mPager.setOffscreenPageLimit(3); mPager.setOnPageChangeListener(new OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { // positionOffset的值为: 0 --> 1 // if (positionOffset > 0) { // GradientTab left = mTabs.get(position); // GradientTab right = mTabs.get(position + 1); // left.updateTabAlpha(1 - positionOffset); // right.updateTabAlpha(positionOffset); // } } @Override public void onPageSelected(int position) { for (int i = 0; i < 4; i++) { if (i == position) { buttons.get(i).setBackgroundResource( R.drawable.weiketang_shouye_topbar_bg_item_select); } else { buttons.get(i).setBackgroundColor(Color.parseColor("#00000000")); } } } @Override public void onPageScrollStateChanged(int state) { } }); }
Initui //获取button实例
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17private void InitUI() { // TODO Auto-generated method stub buttons = new ArrayList<Button>(); btn_shouye = (Button) findViewById(R.id.btn_shouye); buttons.add(btn_shouye); btn_kecheng = (Button) findViewById(R.id.btn_kecheng); buttons.add(btn_kecheng); btn_lishijilv = (Button) findViewById(R.id.btn_lishijilv); buttons.add(btn_lishijilv); btn_mycollection = (Button) findViewById(R.id.btn_mycollection); buttons.add(btn_mycollection); btn_shouye.setOnClickListener(new MyOnClickListener(0)); btn_kecheng.setOnClickListener(new MyOnClickListener(1)); btn_lishijilv.setOnClickListener(new MyOnClickListener(2)); btn_mycollection.setOnClickListener(new MyOnClickListener(3)); }
最后
以上就是鳗鱼信封最近收集整理的关于ViewPager与底部导航栏的搭配使用的全部内容,更多相关ViewPager与底部导航栏内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复