ViewPage是android-support-v4.jar包提供的用于页面滑动的库.这里没有将整个实现过程记录,只是把知识点摘出来单独解释.可参照代码自己实现.
1.在xml布局文件中添加android.support.v4.view.ViewPager容器及显示导航所用标签android.support.v4.view.PagerTitleStrip,
如我添加的xml内容如下
<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 pagetitles 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中导入以下包
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.声明变量
SectionsPagerAdapter mSectionsPagerAdapter;//此处的SectionsPagerAdapter是继承了FragmentPagerAdapter的类
ViewPager mViewPager;
4.在onCreate中对其进行初始化
mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
// Set up the ViewPager with the sections adapter.
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(mSectionsPagerAdapter);
5.添加类SectionsPagerAdapter,我这里使用了3个标签
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 Fragment();
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函数中构造需要显示的内容并返回
比如,以下代码将显示一个文本信息
@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;
}
关于fragment的具体内容,在另一篇转载的文章里更加具体点击打开链接
分享到:
相关推荐
使用ViewPager + Fragment实现滑动切换页面的简单样例
Android Studio使用ViewPager+Fragment实现仿微信滑动切换界面
viewpager+fragment左右滑动实现动态加载数据。动态刷新fragment
利用TabLayout、ViewPager、Fragment实现滑动切换页面
Android ViewPager和Fragment实现仿微信导航界面及滑动效果
android ActionBarTabs+ViewPager+Fragment 实现tab 滑动翻页效果
Android实现ViewPager+Fragment左右滑动
使用ViewPager+Fragment实现页面点击切换和手势滑动,页面很流畅,有动画效果
Viewpager+Fragment实现滑动结束后加载数据,类似于微信的加载方式
使用viewpager+fragment实现循环滑动的一个例子 希望能帮助到有需要的朋友
android ActionBarTabs+ViewPager+Fragment 实现tab滑动翻页效果,完整代码,多个例子,
实现viewpager+fragment无限滑动,并且可以从activity传值给fragment从而实现对fragment的控制.
Android ViewPager+Fragment,ViewPager标示跟着ViewPager滑动而同时滑动
ViewPager+Fragment导航栏支持滑动和点击切换fragment,点击某个按钮触发替换某个tab的fragment。如有tab1,tab2两个导航按钮,分别对应tab1fragment和tab2fragment,点击某个按钮触发,将tab2的tab2fragment替换tab3...
好用的代码,主要是ViewPagerhe和Fragmen之间的用处,解决了冲突问题
android viewpage和fragment相结合实现滑动选择菜单和微信很像,详情看博客: http://blog.csdn.net/sky_918/article/details/52593579
并实例利用ViewPager,PagerAdapter和OnPageChangeListener实现圆点导航左右滑动效果,并实现了被滑动界面处理控件事件,同时通过Fragment实现两个页面切换效果
Android利用ViewPager实现类微信的左右滑动效果,详细代码注解解析setOnPageChangeListener各参数意义以及使用方法
很简单的实现viewpager+fragment左右滑动效果,类似商城app框架。
android实现可滑动标签页有很多方法,这里给大家介绍一种官方推荐,性能最高,并且代码最少的方式,就是利用FragmentTabhost+ViewPager+FragmentPagerAdapter来实现。