内页面  不单写页面   viewpager+布局

import java.util.ArrayList;
import java.util.List; import android.os.Bundle;
import android.app.Activity;
import android.graphics.Color;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button; public class MainActivity extends Activity implements OnClickListener { private List<View> list;
private ViewPager viewpager;
private Button button1;
private Button button2;
private Button button3; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setData();
button1 = (Button) findViewById(R.id.button1);
button2 = (Button) findViewById(R.id.button2);
button3 = (Button) findViewById(R.id.button3);
button1 .setOnClickListener(this);
button2.setOnClickListener(this);
button3.setOnClickListener(this); viewpager = (ViewPager) findViewById(R.id.viewpager);
viewpager.setAdapter(new MyPagerAdapter(list));
viewpager.setCurrentItem(1);
setButtonColor(viewpager.getCurrentItem());
viewpager.setOnPageChangeListener(new OnPageChangeListener() { @Override
public void onPageSelected(int position) {
setButtonColor(position); } @Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub } @Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub }
}); } private void setData() {
list = new ArrayList<View>();
View view1=View.inflate(MainActivity.this,R.layout.viewpager_1, null);
View view2=View.inflate(MainActivity.this,R.layout.viewpager_2,null);
View view3=View.inflate(MainActivity.this,R.layout.viewpager_3,null);
list.add(view1);
list.add(view2);
list.add(view3);
}
private void setButtonColor(int position) {
// TODO Auto-generated method stub
switch(position){
case 0:
button1.setTextColor(Color.WHITE); button2.setTextColor(Color.BLACK);
button3.setTextColor(Color.BLACK);
break;
case 1:
button2.setTextColor(Color.WHITE); button1.setTextColor(Color.BLACK);
button3.setTextColor(Color.BLACK);
break;
case 2:
button3.setTextColor(Color.WHITE); button2.setTextColor(Color.BLACK);
button1.setTextColor(Color.BLACK);
break;
}
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button1:
viewpager.setCurrentItem(0); break;
case R.id.button2:
viewpager.setCurrentItem(1); break;
case R.id.button3:
viewpager.setCurrentItem(2); break; } } }
import java.util.List;

import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup; public class MyPagerAdapter extends PagerAdapter{
List<View> list;
public MyPagerAdapter(List<View> list) {
this.list=list;
} @Override
public int getCount() { return list.size();
} @Override
public boolean isViewFromObject(View view, Object object) { return view==object;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
container.addView(list.get(position));
return list.get(position);
}
}

外页面   自定义页面   Viewpager+Fragment   (Fragment导V4包)

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.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast; public class MainActivity extends FragmentActivity implements OnClickListener{ private ViewPager viewPager;
private Button button1;
private Button button2;
private Button button3;
private List<Fragment> list; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewPager = (ViewPager) findViewById(R.id.viewpager); button1 = (Button) findViewById(R.id.button1);
button2 = (Button) findViewById(R.id.button2);
button3 = (Button) findViewById(R.id.button3); button1.setOnClickListener(this);
button2.setOnClickListener(this);
button3.setOnClickListener(this);
setCon();
FragmentManager fm = getSupportFragmentManager();
viewPager.setAdapter(new MyFragmentpagerAdapter(fm, list));
viewPager.setOnPageChangeListener(new OnPageChangeListener() { @Override
public void onPageSelected(int arg0) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "当前页面是:页卡"+(arg0+1), 0).show();
} @Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub } @Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub }
});
} private void setCon() {
list = new ArrayList<Fragment>();
Fragment1 f1=new Fragment1();
Fragment2 f2=new Fragment2();
Fragment3 f3=new Fragment3();
list.add(f1);
list.add(f2);
list.add(f3);
} @Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button1:
viewPager.setCurrentItem(0);
break;
case R.id.button2:
viewPager.setCurrentItem(1);
break;
case R.id.button3:
viewPager.setCurrentItem(2);
break; } } }
import java.util.List;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.PagerAdapter;
import android.view.View; public class MyFragmentpagerAdapter extends FragmentPagerAdapter {
List<Fragment> list;
public MyFragmentpagerAdapter(FragmentManager fm, List<Fragment> list) {
super(fm);
this.list=list;
} @Override
public Fragment getItem(int arg0) {
// TODO Auto-generated method stub
return list.get(arg0);
} @Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
} }
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup; public class Fragment1 extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
View view=inflater.inflate(R.layout.fragment1, null);
return view;
}
}

viewpager viewpager+fragment的更多相关文章

  1. 使用ViewPager切换Fragment时,防止频繁调用OnCreatView

    使用ViewPager切换Fragment,我原先使用系统自带的适配器FragmentPagerAdapter. 切换fragment时,频繁调用oncreatview(). 查看FragmentPa ...

  2. ViewPager之Fragment页面切换

    一.概述 ViewPager是android-support-v4中提供的类,它是一个容器类,常用于页面之间的切换. 继上篇文章<ViewPager之引导页>之后,本文主要介绍ViewPa ...

  3. ViewPager和Fragment的结合使用fragment里包含着listview的常见问题

    在我们开发的过程中可能会遇到类似需求,我们需要做一个左右滑动的tab导航,这个时候有些朋友可能会想到viewpager和fragment的结合来实现这个功能:当然实现的方法不单单着一种.我们这个随笔讨 ...

  4. viewpager和fragment预加载的解决

    在使用Viewpager和fragment处理中会出现预加载的问题,最近看别人的代码,终于找到了一个很好的处理方法 能有效的解决预加载的问题,在fragment都继承一个重写setUserVisibl ...

  5. Android Tab -- 使用ViewPager、Fragment、FragmentPagerAdapter来实现

    原文地址:http://blog.csdn.net/crazy1235/article/details/42678877 效果:滑动切换:点击标签切换. 代码:https://github.com/l ...

  6. 防止ViewPager和Fragment结合使用时候的数据预加载

    不知道你们使用ViewPager和Fragment结合的时候发现一个问题没,如果你的每个Fragment都需要请求网络数据,并且你在请求网络数据的时候会加入进度对话框的加载显示效果,当你显示第一个Fr ...

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

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

  8. ViewPager和Fragment的组合使用

    如图是效果图用的是Viewpager和fragment来实现的主界面 不过其中的预加载我没有解决 如下是代码代码比较简单 package com.ithello.dingding; import ja ...

  9. 【Android 界面效果27】利用ViewPager、Fragment、PagerTabStrip实现多页面滑动效果

    本文主要介绍如何利用ViewPager.Fragment.PagerTabStrip实现多页面滑动效果.即google play首页.新浪微博消息(at.评论.私信.广播)页面的效果.ViewPage ...

随机推荐

  1. imx6 system boot

    imx6开机启动就进入download模式,有的板子进入文件系统之后会进入download模式.查看datasheet,Chapter 8 System Boot查找原因,记录于此. freescal ...

  2. 第二条 一个类如果有多个参数,考虑用Builder构造者模式

    1. @Data public class Student { //体检用 private String name; private int age; private int height; priv ...

  3. 关于使用"/"来 dispatcherServlet 的url-pattern带来的问题

    之前一直使用*.do来做的,但是绝的*.do很丑,于是就改用"/"来配置: <servlet> <servlet-name>dispatcherServle ...

  4. 通过css3实现开关选择按钮

      通过css属性实现如图所示按钮 要点:通过checkbox选中与否的状态与兄弟选择器实现相关功能 1.设置开关大小并设置定位方式为relative .swift-btn {     positio ...

  5. 分享一下一款直播App开发的过程

    听说有人声称开发一款直播App不仅耗时还非常昂贵,今天跟大家说道一下,开发一款直播App到底分几步走? 第一步:分解直播App的功能,我们以X客为例 视频直播功能,这是一款直播App最主要的功能,要能 ...

  6. MOGRE学习笔记(2) - MOGRE基础知识总结

    前一篇配置了MOGRE的运行环境,这里记录一些MOGRE基础知识,仅仅是最基础的一些东西.由于本人接触ogre的时间比较短,对于很多知识都是一知半解,所以理解起来不免会有一些错误,本人也希望自己在对o ...

  7. MPI简介

    什么是MPI: MPI是一个库,而不是一门语言.但是按照并行语言的分类,可以把FORTRAN+MPI或者C+MPI看作是一种在原来串行语言基础上扩展后得到的并行语言.MPI库可以被FORTRAN77/ ...

  8. tomcat部署新的项目的时候出现报错信息: Invalid byte tag in constant pool: 15

    上面一堆tomcat启动的提示信息省略掉,下面是报错的具体信息:org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid ...

  9. python待解决问题笔记

    2006, 'MySQL server has gone away' 描述:mysql服务端断开idle过期连接,而客户没有检测重连所以报错. 解决: def is_connection_usable ...

  10. jquery .on的使用

    1.7版本以上,开始使用.on绑定时间 给jquery动态产生的元素绑定事件不能使用普通的$("#fff").click(function(){alert("ok&quo ...