前段日子的博客有介绍过关于ViewPager的使用,发现大家对那篇博客都情有独钟,今天我们就在来看一下ViewPager在Fragment中的使用吧,因为ViewPager是在补丁包中添加的低版本的包,而Fragment又必须运行在android 3.0以上的平台上,这里就出现了一定的矛盾,为了解决这个问题呢,我们的主程序必须继承FragmentActivity取代之前的Acitvity,导包的时候要注意导的都要是V4的包,要不然会报错。下面我们来分析一下源代码的注意事项把!

MainActivity的代码

package com.example.f20_fragement08;import java.util.ArrayList;
import java.util.List;import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.PagerTitleStrip;
import android.support.v4.view.ViewPager;
import android.view.Menu;public class MainActivity extends FragmentActivity {private ViewPager pager;private List<Fragment> list;private FragmentManager manager;private PagerTitleStrip pagerTitleStrip;private List<String> title;private MyAdapter adapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);pager = (ViewPager) this.findViewById(R.id.pager);pagerTitleStrip = (PagerTitleStrip) this.findViewById(R.id.pagertitle);pagerTitleStrip.setTextSpacing(1000);// 设置标题间的距离list = new ArrayList<Fragment>();title = new ArrayList<String>();list.add(new AFragment());// add Fragmentlist.add(new BFragment());title.add("第一个页面");// 设置标题title.add("第二个页面");manager = getSupportFragmentManager();// 因为使用的是V4的补丁包,必须的继承FragmentActivity// 才能实例化manager对象adapter = new MyAdapter(manager);pager.setAdapter(adapter);adapter.notifyDataSetChanged();}//使用FragmentStatePagerAdapter能缓存更多的上一个页面,必须的//继承getCount,getItem方法public class MyAdapter extends FragmentPagerAdapter {public MyAdapter(FragmentManager fm) {super(fm);// TODO Auto-generated constructor stub}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn list.size();}@Overridepublic Fragment getItem(int arg0) {// TODO Auto-generated method stubreturn list.get(arg0);}@Overridepublic CharSequence getPageTitle(int position) {// TODO Auto-generated method stubreturn title.get(position);}}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}

之前有贴出过布局文件的代码,这次就再强调一下吧

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity" ><android.support.v4.view.ViewPagerandroid:id="@+id/pager"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_gravity="center" ><android.support.v4.view.PagerTitleStripandroid:id="@+id/pagertitle"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="top" ></android.support.v4.view.PagerTitleStrip></android.support.v4.view.ViewPager></RelativeLayout>

Android开发之ViewPager结合Fragment实现滑动页面的效果(源代码分享)相关推荐

  1. Android开发之ActionBar结合Fragment的导航功能的使用(源代码分享)

    标签在操作栏方便用户去探索,在你的应用程序在不同视图之间切换.ActionBar提供的标签是最理想的选择,因为他们适应不同的屏幕尺寸.一旦你确定了Fragment出现在布局里,添加标签的步骤如下:一: ...

  2. Android开发之ViewPager+ActionBar+Fragment实现响应式可滑动Tab

    今天我们要实现的这个效果呢,在Android的应用中十分地常见,我们可以看到下面两张图,无论是系统内置的联系人应用,还是AnyView的阅读器应用,我们总能找到这样的影子,当我们滑动屏幕时,Tab可以 ...

  3. Android开发之ContentProvider结合LoaderManager加载数据(图文源代码分享)

    ContentProvider作为Android的四大存储方式之一,有着广泛的应用性,它暴露了数据地址,可以让其他应用访问数据,可以用于存储图片.通讯录等信息,这篇博文将详细介绍ContentProv ...

  4. Android开发之ViewPager滑动页面效果实现(源代码分享)

    我们先来谷歌官方文档对viewpager的介绍,该类允许用户通过页面翻转左右的数据,需要通过实现PagerAdapter适配器来生成视图显示的页面.因为注意这个类是早期设计和开发的,API可能会改变, ...

  5. android中viewpager+fragment,Android开发之ViewPager+Fragment

    使用步骤 1.Activity的布局文件 android:id="@+id/viewpager" android:layout_width="wrap_content&q ...

  6. Android透明到白色滑动渐变,Android开发之Activity全透明渐变切换方法

    Activity全透明渐变切换 类似于Dialog的显示动画效果一样 1. 先设置Acitivity为去透明,在取消掉Activity默认的切换动画 true @color/colorPrimary ...

  7. android md5加密登录,Android开发之MD5加密

    将字符串进行MD5加密,返回加密后的字符串 public static String encode(String password) { try { StringBuffer sb = new Str ...

  8. Android监听作用,Android开发之CheckBox的简单使用与监听功能示例

    本文实例讲述了Android开发之CheckBox的简单使用与监听功能.分享给大家供大家参考,具体如下: activity_main.xml android:layout_width="ma ...

  9. Android studio实现底部导航,Android 开发之BottomBar+ViewPager+Fragment实现炫酷的底部导航效果...

    BottomBar BottomBar是Github上的一个开源框架,因为从1.3.3开始不支持fragments了,要自己配置,弄了很久,不管是app的fragment还是V4 的程序总是总是闪退. ...

最新文章

  1. 剑指offer:面试题14- II. 剪绳子 II
  2. walle的试用和结合vagrant
  3. C语言动态链表数据结构
  4. Android 获取唯一机器码的代码
  5. java Byte Stream and Character Stream的不同
  6. BERT时代,向量语义检索我们关注什么?
  7. Java一键多值Map 之Guava Multimap 用法简介
  8. 云原生技术学习路线图 初阶+中阶+高阶
  9. 小程序仿微视_争抢流量!腾讯微视也要开始搞短视频带货
  10. Windows/Linux/Solaris 软中断处理机制
  11. oracle下载,linux版本的oracle数据库下载
  12. matlab2012a for mac,matlab 2016a mac |matlab 2016a for mac免费版专业版 32位/64位 - 系统天堂...
  13. 【论文笔记】ASNet:基于生成对抗网络(GAN)的无监督单模和多模配准网络(范敬凡老师)
  14. 金武彩印机械设备有限公司仓储管理系统设计与实现
  15. OSChina 周五乱弹 ——人类发明眼镜之前眼镜蛇叫什么?
  16. Gym 101158G Placing Medals on a Binary Tree
  17. IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! 解决办法
  18. Fuchsia编译系统的GN结构
  19. 绝对值表达式的最大值(Java)
  20. 哪个牌子的护眼台灯适合学生?国AA级照度的护眼台灯

热门文章

  1. 通道注意力机制 cnn keras_【CV中的Attention机制】简单而有效的CBAM模块
  2. hive金额怎么转换千位分隔符_金额字段加千位分隔符方法
  3. 调查问卷_员工满意度调查问卷
  4. python 线程安全链表_教你用 Python 实现 HashMap 数据结构
  5. 8.QML Qt Quick Controls 2中常用的界面形式——堆叠式界面(StackView)
  6. C++知识点23——使用C++标准库(顺序容器list的其他操作)
  7. CUD学习-查看电脑block数量与如何分配给程序
  8. android客户端访问服务端tomcat
  9. Proxool 连接池销毁问题
  10. tomcat 部署站点时遇到的部分问题以及解决方案