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. 给TextView添加超链接的四种方式

    因为在上上篇博客中介绍了SpannableString的使用(SpannableString使用详解),由此想到给TextView添加超链接究竟有多少种方式?经过个人总结,现在一共发现四种,如果还有其 ...

  2. 解析XML文件时做得修改

    在.h文件中找到需要在Build Settings中设置的东西,查找Header Search Paths,然后添加/usr/include/libxml2

  3. C#三元运算符

    ?:表达式1?表达式2:表达式3如果1为真则执行2,为假执行3

  4. CA 配置网站映射

     

  5. 某些手机一直连不上adb的解决办法

    首先看驱动,就是用各种手机助手连接,看是否能识别,如果能够成功进入连接模式,说明可用,注意勾选一直使用该台计算机进行调试,如果这一步不勾选在后面也是没有办法的. 第二个就是看端口占用的问题,adb n ...

  6. 判断是否为闰年(bool)

    bool为布尔型,只有一个字节,取值false和true #include<iostream>using namespace std;int main(){ int year; bool ...

  7. IBM WebSphere MQ 通道类型配置

    IBM WebSphere MQ 通道类型配置 初学MQ,四种常见通道,windows下操作 目录 Sender--Receiver Server-Receiver Server-Requester ...

  8. job还是job

    declare jobno binary_integer;rm_days number;rm_hour number;  --传入的hourmy_hour number;    --取出当前时间的ho ...

  9. XSS漏洞(跨站脚本)

    不要轻信用户提交上来的数据alert消息太难看,因此开发一个aspx页面用来统一展示消息ShowMessage.ashx //主页将判断重定向到另一个页面 if (TextBox1.Text != & ...

  10. LAMP 环境 快速安装

    (一)安装Apache 1.下载安装 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 yum install zlib-devel -y wget http://m ...