android中viewPager+fragment实现的屏幕左右切换(进阶篇)
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实现的屏幕左右切换(进阶篇)的更多相关文章
- Android中ViewPager+Fragment取消(禁止)预加载延迟加载(懒加载)问题解决方案
转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53205878本文出自[DylanAndroid的博客] Android中Vie ...
- Android中通过Fragment进行简单的页面切换
首先是activity中的布局 <?xml version="1.0" encoding="utf-8"?> <androidx.constr ...
- Android中ViewPager实现滑动条及与Fragment结合的实例教程
ViewPager类主要被用来实现可滑动的视图功能,这里我们就来共同学习Android中ViewPager实现滑动条及与Fragment结合的实例教程,需要的朋友可以参考下 自主实现滑动指示条先上一个 ...
- Android中viewPager的一两点使用
Android中viewPager的一两点使用 viewPager是谷歌官方提供的一种方便实现页面滑动效果的控件,可以直接使用也可以和fragment联合使用.这里只简单说下直接使用. 使用viewP ...
- android中viewPager实现的屏幕左右切换(入门篇)
大多数的APP都可以实现几个屏幕来回的切换, 首先新建两个Activity,内容随意,布局随意.接下来在MainActivity.xml: <RelativeLayout xmlns:andro ...
- android 中 viewpager 滑动的指示器
先看下效果图: 这个需要用到1个开源的 库,这个后面也会说下的. 工程目录: 1. MainActivity.java public class MainActivity extends Fragme ...
- Android基础——使用Fragment适应不同屏幕和分辨率
最近事情很忙,一个新项目赶着出来,但是很多功能都要重新做,一直在编写代码.Debug.今天因为一个新程序要使用Fragment来做,虽然以前也使用过Fragment,不过没有仔细研究,今天顺道写篇文章 ...
- Android笔记(十九) Android中的Fragment
通常我们使用Activity来展示界面,但是在手机上界面可能显示的很好看,但在平板上,因为平板的屏幕非常大,手机的界面放在平板上可能会出现控件被拉长.控件之间间距变大等问题.为了更好的体验效果,在Ac ...
- Android 中关于Fragment嵌套Fragment的问题
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/5802146.html 问题描述: 在项目中Activity A中嵌套Fragment B,Fragment ...
随机推荐
- 关于Fragment与Fragment、Activity通信的四种方式
一直想总结一下Fragment与Fragment.Activity通信的问题,今天有时间一共总结了三种,权当抛砖引玉,如果大家还有更好的方式来实现Fragment和Fragment.Activity的 ...
- selendroid项目实战教程1
selendroid是国内使用非常少的框架.资料也少.刚好公司项目用到,给大家分享下,技术不太行,有错误还望指正. 使用selendroid契机,是公司开发的APP,需要大量捕捉Toast信息.公司的 ...
- hbuilder用自己的服务
2016-03-10 以后写测试demo用Sublime3 http://docs.emmet.io/cheat-sheet/ 更多炫酷信息和emmet语法请参见: 视频demo 语法文档 2016- ...
- pull解析xml文件
pull解析xml文件 先自己写一个xml文件,存一些天气信息 拿到xml文件 InputStream is = getClassLoader().getResourceAsStream(" ...
- MVC 读取图片
/// <summary> /// 获取上传的图片 /// </summary> public FileResult GetImages(string PhotoPath) ...
- WKWebView详解
WKWebView是在Apple的WWDC 2014随iOS 8和OS X 10.10出来的,是为了解决UIWebView加载速度慢.占用内存大的问题.使用UIWebView加载网页的时候,我们会发现 ...
- C/C++随机数rand()和种子函数srand()
在计算机编程中,常常要产生一个随机数.但是要让计算机产生一个随机数并不那么容易.计算机的执行,是以代码来进行的,所以并不可能像抽牌,扔骰子那样产生一个真正具有随机意义的数.只可能以一定的算法产生一个伪 ...
- DataReader 和 DataSet 的区别
摘自:http://www.cnblogs.com/zhjjNo1/archive/2009/08/26/1554420.html 第一种解释 DataReader和DataSet最大的区别在于,Da ...
- jQuery查看dom元素上绑定的事件列表
jQuery API提供了一种能够查看元素已绑定事件的列表,这个功能在进行功能调试的时候特别有用,尤其确定在代码执行过程中元素绑定的事件是否被更改. 1: jQuery( elem ).dat ...
- js 验证输入框金额
$("#ipt1").keyup(function () { var reg = $(this).val().match(/\d+\.?\d{0,2}/); var txt = ' ...