使用ViewPager和Fragment实现滑动导航

简介: ViewPage是android-support-v4.jar包提供的用于页面滑动的库,android-support-v4.jar是google推荐使用的一个类库,在项目中使用之前,你必须其添加到项目中(项目点右键Build path->configure build path,然后找到jar进行添加) 1.

ViewPage是android-support-v4.jar包提供的用于页面滑动的库,android-support-v4.jar是google推荐使用的一个类库,在项目中使用之前,你必须其添加到项目中(项目点右键Build path->configure build path,然后找到jar进行添加)

1.在xml布局文件中添加android.support.v4.view.ViewPager容器及显示导航所用标签android.support.v4.view.PagerTitleStrip,如我添加的xml内容如下

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
< android.support.v4.view.ViewPager xmlns:android = "http://schemas.android.com/apk/res/android"
     xmlns:tools = "http://schemas.android.com/tools"
     android:id = "@+id/pager"
     android:layout_width = "match_parent"
     android:layout_height = "match_parent"
     tools:context = ".MainActivity" >
 
     <!--
     This title strip will display the currently visible page title, as well as the page
     titles for adjacent pages.
     -->
 
     < android.support.v4.view.PagerTitleStrip
         android:id = "@+id/pager_title_strip"
         android:layout_width = "match_parent"
         android:layout_height = "wrap_content"
         android:layout_gravity = "top"
         android:background = "#33b5e5"
         android:paddingBottom = "4dp"
         android:paddingTop = "4dp"
         android:textColor = "#fff" />
 
</ android.support.v4.view.ViewPager >

 

2.在activity中导入以下包 

?
1
2
3
4
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;

3.声明变量

?
1
2
SectionsPagerAdapter mSectionsPagerAdapter;
ViewPager mViewPager;

 

4.在onCreate中对其进行初始化 

?
1
2
3
4
5
6
mSectionsPagerAdapter =  new SectionsPagerAdapter(
                 getSupportFragmentManager());
 
// Set up the ViewPager with the sections adapter.
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(mSectionsPagerAdapter);

5.添加类SectionsPagerAdapter,我这里使用了3个标签 

?
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
public class SectionsPagerAdapter  extends FragmentPagerAdapter {
 
         public SectionsPagerAdapter(FragmentManager fm) {
             super (fm);
         }
 
         @Override
         public Fragment getItem( int position) {
             // getItem is called to instantiate the fragment for the given page.
             // Return a DummySectionFragment (defined as a static inner class
             // below) with the page number as its lone argument.
             Fragment fragment =  new HjFragment();
             Bundle args =  new Bundle();
             args.putInt( "no" , position +  1 );
             fragment.setArguments(args);
 
             return fragment;
         }
 
         @Override
         public int getCount() {
             // Show 3 total pages.
             return 3 ;
         }
 
         @Override
         public CharSequence getPageTitle( int position) {
             switch (position) {
             case 0 :
                 return "标签1" ;
             case 1 :
                 return "标签2" ;
             case 2 :
                 return "标签3" ;
             }
             return null ;
         }
     }

可以看到在getItem中返回了一个Fragment,这个就是当滑动到不同标签时显示在ViewPager中的内容,Fragment相当于一个Activity,在可以其中的onCreateView函数中构造需要显示的内容并返回

比如,以下代码将显示一个文本信息

?
1
2
3
4
5
6
7
8
9
10
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
         Bundle savedInstanceState) {
     TextView textView =  new TextView(getActivity());
     textView.setGravity(Gravity.CENTER);
     textView.setText( "你选择了标签:" +Integer.toString(getArguments().getInt(
             "no" )));
     return textView;
 
}
作者:Bonker
出处:http://www.cnblogs.com/Bonker
QQ:519841366
       
本页版权归作者和博客园所有,欢迎转载,但未经作者同意必须保留此段声明, 且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利
目录
相关文章
|
存储 Android开发
android ViewPager + Fragment + Tablayout 实现嵌套页面导航(二)
android ViewPager + Fragment + Tablayout 实现嵌套页面导航
android ViewPager + Fragment + Tablayout 实现嵌套页面导航(二)
|
编译器 Android开发 容器
android ViewPager + Fragment + Tablayout 实现嵌套页面导航(一)
android ViewPager + Fragment + Tablayout 实现嵌套页面导航
android ViewPager + Fragment + Tablayout 实现嵌套页面导航(一)
|
数据安全/隐私保护
RadioGroup+ViewPager +Fragment 制作APP主界面底部导航和左右滑动
RadioGroup+ViewPager +Fragment 制作APP主界面底部导航和左右滑动
132 0
RadioGroup+ViewPager +Fragment 制作APP主界面底部导航和左右滑动
简单几行代码让ViewPager实现垂直滑动效果
近几日有网友在群里提问:有没有大神做过ViewPager实现垂直滑动效果。其实这个问题实现很简单,下面就简单的讲一下实现步骤: 先来看一张效果图:(你会发现,切换ViewPager慢一些,会看到颜色过渡效果,so beautiful) 垂直ViewPager演示 一、首先写一个类继承ViewPager,在构造方法里面设置viewpage的切换动画,然后重写onInterceptTouchEvent,对事件是否处理进行判断。
1651 0
|
Android开发 容器
Android开发之ViewPager切换动画
Android从3.0开始,ViewPager也开始有了切换动画,ViewPager有个setPageTransformer()方法,用于设置ViewPager切换时的动画效果。
929 0
|
程序员
用ViewPager布局,但是又不想预加载的问题
​问题背景:     ViewPager是常用来做tab分页布局的一个组件,程序员常用ViewPager+Fragment来做整体布局 问题描述:     有时候在某个页面显示的时候...
1251 0
|
Android开发 容器 Java
android 学习之Fragment+ViewPager实现页面左右滑动标签页
版权声明:本文为博主原创文章,转载请注明出处http://blog.csdn.net/u013132758。 https://blog.csdn.net/u013132758/article/details/50095053 ViewPager 结合Fragment实现一个Activity里包含多个可滑动的标签页,每个标签页可以有独立的布局及响应。
1322 0
|
Android开发 容器 数据格式
ViewPager+Fragment实现左右滑动页
                   思路:                        每一个Tab里面的内容都放到一个fragment里面,然后再每个fragment里面处理具体的业务逻辑,在主页面上,像加入view那样加入fragment.
945 0