Fragment支持在不同的Activity中使用并且可以处理自己的输入事件以及生命周期方法等。可以看做是一个子Activity。

先看一下布局:

 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
2 xmlns:tools="http://schemas.android.com/tools"
3 android:layout_width="match_parent"
4 android:layout_height="match_parent"
5 tools:context=".ViewPagerActivity" >
6
7 <android.support.v4.view.ViewPager
8 android:id="@+id/viewpager"
9 android:layout_width="wrap_content"
10 android:layout_height="wrap_content"
11 android:layout_gravity="center" >
12 </android.support.v4.view.ViewPager>
13
14 </LinearLayout>

主文件:ViewPagerActivity继承FragmentActivity

 1 package com.example.viewpagerdemo;
2
3 import java.util.ArrayList;
4 import java.util.List;
5
6 import android.os.Bundle;
7 import android.support.v4.app.Fragment;
8 import android.support.v4.app.FragmentActivity;
9 import android.support.v4.view.ViewPager;
10
11 import com.example.adapter.fragmentAdapter;
12
13 public class ViewPagerActivity extends FragmentActivity {
14
15 @Override
16 protected void onCreate(Bundle savedInstanceState) {
17 super.onCreate(savedInstanceState);
18 setContentView(R.layout.activity_view_pager);
19 List<Fragment> fragments = new ArrayList<Fragment>();
20 for (int i = 0; i < 3; i++) {
21 Fragment f = new ButtonFragment();
22 fragments.add(f);
23 }
24 ViewPager vp = (ViewPager) findViewById(R.id.viewpager);
25 fragmentAdapter fa = new fragmentAdapter(getSupportFragmentManager(),
26 fragments);
27 vp.setAdapter(fa);
28 vp.setCurrentItem(0);
29 }
30 }

新建fragmentAdapter继承FragmentPagerAdapter并未写出实现的方法

 1 package com.example.adapter;
2
3 import java.util.List;
4
5 import android.support.v4.app.Fragment;
6 import android.support.v4.app.FragmentManager;
7 import android.support.v4.app.FragmentPagerAdapter;
8
9 public class fragmentAdapter extends FragmentPagerAdapter {
10 private List<Fragment> fragments;
11 private FragmentManager fm;
12
13 public fragmentAdapter(FragmentManager fm, List<Fragment> fragments) {
14 super(fm);
15 this.fragments = fragments;
16
17 }
18
19 public fragmentAdapter(FragmentManager fm) {
20 super(fm);
21 this.fm = fm;
22 }
23
24 @Override
25 public Fragment getItem(int arg0) {
26 return fragments.get(arg0);
27 }
28
29 @Override
30 public int getCount() {
31 return fragments.size();
32 }
33
34 }

定义要展示的fragment内容,在这只放一个Button

 1 package com.example.viewpagerdemo;
2
3 import android.os.Bundle;
4 import android.support.v4.app.Fragment;
5 import android.view.LayoutInflater;
6 import android.view.View;
7 import android.view.ViewGroup;
8 import android.widget.TextView;
9
10 public class ButtonFragment extends Fragment {11 private View rootView; 12
13 @Override
14 public View onCreateView(LayoutInflater inflater, ViewGroup container,
15 Bundle savedInstanceState) {
16 rootView = inflater.inflate(R.layout.guide1, container, false);
17 return rootView;
18 }
19 }

至此实现3个含有Button可以左右切换了

android中viewPager+fragment实现的屏幕左右切换(进阶篇)的更多相关文章

  1. Android中ViewPager+Fragment取消(禁止)预加载延迟加载(懒加载)问题解决方案

    转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53205878本文出自[DylanAndroid的博客] Android中Vie ...

  2. Android中通过Fragment进行简单的页面切换

    首先是activity中的布局 <?xml version="1.0" encoding="utf-8"?> <androidx.constr ...

  3. Android中ViewPager实现滑动条及与Fragment结合的实例教程

    ViewPager类主要被用来实现可滑动的视图功能,这里我们就来共同学习Android中ViewPager实现滑动条及与Fragment结合的实例教程,需要的朋友可以参考下 自主实现滑动指示条先上一个 ...

  4. Android中viewPager的一两点使用

    Android中viewPager的一两点使用 viewPager是谷歌官方提供的一种方便实现页面滑动效果的控件,可以直接使用也可以和fragment联合使用.这里只简单说下直接使用. 使用viewP ...

  5. android中viewPager实现的屏幕左右切换(入门篇)

    大多数的APP都可以实现几个屏幕来回的切换, 首先新建两个Activity,内容随意,布局随意.接下来在MainActivity.xml: <RelativeLayout xmlns:andro ...

  6. android 中 viewpager 滑动的指示器

    先看下效果图: 这个需要用到1个开源的 库,这个后面也会说下的. 工程目录: 1. MainActivity.java public class MainActivity extends Fragme ...

  7. Android基础——使用Fragment适应不同屏幕和分辨率

    最近事情很忙,一个新项目赶着出来,但是很多功能都要重新做,一直在编写代码.Debug.今天因为一个新程序要使用Fragment来做,虽然以前也使用过Fragment,不过没有仔细研究,今天顺道写篇文章 ...

  8. Android笔记(十九) Android中的Fragment

    通常我们使用Activity来展示界面,但是在手机上界面可能显示的很好看,但在平板上,因为平板的屏幕非常大,手机的界面放在平板上可能会出现控件被拉长.控件之间间距变大等问题.为了更好的体验效果,在Ac ...

  9. Android 中关于Fragment嵌套Fragment的问题

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/5802146.html 问题描述: 在项目中Activity A中嵌套Fragment B,Fragment ...

随机推荐

  1. 通过Html5的postMessage和onMessage方法实现跨域跨文档请求访问

    在项目中有应用到不同的子项目,通过不同的二级域名实现相互调用功能.其中一个功能是将播放器作为单独的二级域名的请求接口,其他项目必须根据该二级域名调用播放器.最近需要实现视频播放完毕后的事件触发,调用父 ...

  2. iframe父子窗口取值

    父窗口中操作iframe:window.frames["iframeChild"].document //假如iframe的id为iframeChild 在子窗口中操作父窗口:wi ...

  3. 검색엔진의 크롤링과 인덱싱의 차이 (robots.txt 파일과 meta robots 태그의 차이점)

    검색엔진의 크롤링과 인덱싱의 차이크롤링 제어는 robots.txt인덱싱 제어는 < meta name="robots" content="noindex& ...

  4. webstom 配置git 后左侧菜单栏配色调整

    ws配置了git进行版本管理,但是最近改了主题,发现左侧列表的文件名的颜色都是一个颜色了.我想要的是,对未提交的文件用颜色区分,新建的,修改的,冲突的分别设置不同的颜色,不知在哪里能设置,求助 老规矩 ...

  5. Oracle SQL 基础学习

    oracel sql 基础学习 CREATE TABLE USERINFO ( ID ,) PRIMARY KEY, USERNAME ), USERPWD ), EMAIL ), REDATE DA ...

  6. HTML5 PC、Mobile调用摄像头(navigator.getUserMedia)

    废话少说,先贴上代码 html: <div id="main" class="masthead"> <div id="face_sc ...

  7. ASP.NET CompareValidator 控件在VS2012中出错的问题

    CompareValidator 控件用于将由用户输入到输入控件的值与输入到其他输入控件的值或常数值进行比较. -------如果输入控件为空,则不会调用任何验证函数,并且验证将成功.使用 Requi ...

  8. Android屏幕适配全攻略(最权威的官方适配指导)

    转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 Android的屏幕适配一直以来都在折磨着我们这些开发者,本篇文章以Google的官方文档为基础,全面而深入 ...

  9. autorelease 的基本使用

    5-autorelease 的基本使用 0,引入 Person *p = [Persom new];[p release]; [p run]; [p run]; // 希望不立即释放,待 run执行完 ...

  10. Oracle 10g 默认安装带来的用户名/密码

    ORACLE数据库创建的时候,创建了一系列默认的用户和表空间 Oracle 10g 默认安装带来的用户名/密码 Username Password Description See Also CTXSY ...