package teamhgl.xinwensudu;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;

import org.xutils.view.annotation.ContentView;
import org.xutils.view.annotation.ViewInject;
import org.xutils.x;

import java.util.ArrayList;
import java.util.List;

import teamhgl.xinwensudu.fragment.xiaocry_Fragment;

/**
* A simple {@link Fragment} subclass.
*/
@ContentView(R.layout.fragment_shipin)
public class ShiPin_Fragment extends Fragment {

@ViewInject(R.id.shipin_linearlayout)
private LinearLayout mshipin_layout;
@ViewInject(R.id.shipin_viewpager)
private ViewPager mshipin_pager;

private List<Fragment> mfragments;

private ShiPin_Viewpager_Adapter mviewpager_adapter;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View rootView = x.view().inject(this, inflater, container);

mfragments = new ArrayList<Fragment>();
xiaocry_Fragment xiaocry_fragment = new xiaocry_Fragment();
mfragments.add(xiaocry_fragment);
xiaocry_Fragment xiaocry_fragment1 = new xiaocry_Fragment();
mfragments.add(xiaocry_fragment1);
xiaocry_Fragment xiaocry_fragment2 = new xiaocry_Fragment();
mfragments.add(xiaocry_fragment2);
xiaocry_Fragment xiaocry_fragment3 = new xiaocry_Fragment();
mfragments.add(xiaocry_fragment3);

mviewpager_adapter = new ShiPin_Viewpager_Adapter(getFragmentManager());
mshipin_pager.setAdapter(mviewpager_adapter);
intitTab();
return rootView;
}

//ViewPager+fragment+tab
private void intitTab() {
mshipin_layout.getChildAt(0).setSelected(true);
//给tab添加监听
for (int i = 0; i < 4; i++) {
final View textview = mshipin_layout.getChildAt(i);
textview.setTag(i);
textview.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int position = (int) textview.getTag();
mshipin_pager.setCurrentItem(position);
}
});
}
//滑动viewpager的监听
mshipin_pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
for (int i = 0; i < 4; i++) {
View childview = mshipin_layout.getChildAt(i);
if (i == position) {
childview.setSelected(true);
} else {
childview.setSelected(false);
}
}
}

@Override
public void onPageSelected(int position) {

}

@Override
public void onPageScrollStateChanged(int state) {

}
});
}

class ShiPin_Viewpager_Adapter extends FragmentPagerAdapter{

public ShiPin_Viewpager_Adapter(FragmentManager fm) {
super(fm);

}
@Override
public Fragment getItem(int position) {
return mfragments.get(position);
}

@Override
public int getCount() {
return mfragments.size();
}
}
}

ViewPager+tab+Fragment的滑动的更多相关文章

  1. 应用框架 ViewPager Tab Fragment SlidingMenu

    介绍 常见的应用框架 框架一:多个tab+Fragment,点击不同的tab加载不同的Fragment,不能滑动切换只能点击切换: 框架二:多个tab+ViewPager+FragmentPagerA ...

  2. 使用ViewPager和Fragment实现滑动导航

    ViewPage是android-support-v4.jar包提供的用于页面滑动的库,android-support-v4.jar是google推荐使用的一个类库,在项目中使用之前,你必须其添加到项 ...

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

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

  4. Android实战简易教程-第三十四枪(基于ViewPager和FragmentPagerAdapter实现滑动通用Tab)

    上一段时间写过一篇文章<基于ViewPager实现微信页面切换效果> 里面实现了相似微信Tab的页面.可是这样的实现方法有个问题.就是以后全部的代码逻辑都必须在MainActivity中实 ...

  5. 低版本系统兼容的ActionBar(六)用Fragment+ViewPager+Tab实现快速导航

    Tab经常和Fragment结合使用,这一讲我们用3种方式来实现这种快捷导航. 0.重要的两个监听器 MyTabListener,这个我们之前已经接触过了 package com.kale.actio ...

  6. Android tab导航的几种方法:ActionBar tab +fragment,Viewpager+pagerTitleStrip,开源框架ViewPageIndicator 和 ViewPager

    action来实现tab标签 并跟fragment结合 因为要写新闻客户端这个tab导航是必须的 这里我写几个小练习,希望大家融会贯通. 1actionbar设置tab +fragment 布局是个l ...

  7. ViewPager+Fragment实现滑动显示,且Fragment里面又放Fragment+viewPager

    思路:新建一个Activity,且这个Activity要继承FragementActivity,在Activity的布局文件中放入了一个viewPager,为了效果好看,还做了个导航,使得ViewPa ...

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

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

  9. ViewPager结合Fragment进行无限滑动

    实现ViewPager结合Fragment实现无限循环切换,这里也是在适配器里面进行的,当然使用滑动监听也能够实现 import android.support.v4.app.Fragment; im ...

随机推荐

  1. 细看INNODB数据落盘

    本文来自:沃趣科技 http://www.woqutech.com/?p=1459 1.  概述 前面很多大侠都分享过MySQL的InnoDB存储引擎将数据刷新的各种情况.我们这篇文章从InnoDB往 ...

  2. C# Winform中如何获取文件名与文件路径

    获取文件名方法: 用System.IO.Path.GetFileName和System.IO.Path.GetFileNameWithoutExtension(无扩展名)的方法 获取文件路径方法: / ...

  3. [转]Handler MessageQueue Looper消息循环原理分析

    Handler MessageQueue Looper消息循环原理分析   Handler概述 Handler在Android开发中非常重要,最常见的使用场景就是在子线程需要更新UI,用Handler ...

  4. BestCoder22 1002.NPY and arithmetic progression(hdu 5143) 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5143 题目意思:给出 1, 2, 3, 4 的数量,分别为a1, a2, a3, a4,问是否在每个数 ...

  5. 如何把一个excel工作薄中N个工作表复制到另一个工作薄中

    一般遇到标题这样的情况,许多人可能会一个一个的复制粘贴,其实完全不必那么麻烦. 你可以按以下步骤来操作: 第一步:打开所有要操作的excel工作薄\n 第二步:按住Shift键,选择所有要复制的工作表 ...

  6. Android Studio新建了一个项目看不到手机界面的效果

    我今天新建了一个项目,但是在这里却看不到手机的界面效果,如下图:

  7. 用java套接字创建HTTP客户与服务器程序

    最近再学习java的web编程,发现用java创建一个小的服务器和客户端是如此的简单,引用经典图书<Tomcat与Java Web开发技术详解(第二版)>(孙卫琴) 根据书中案例敲代码自己 ...

  8. [Android Pro] Android studio jni中调用Log输出调试信息

    reference to : http://www.linuxidc.com/Linux/2014-02/96341.htm Android 开发中,java 可以方便的使用调试信息Log.i, Lo ...

  9. win7画板橡皮擦改变大小

    按住CTRL键不放,再按小键盘上的“+”号键,可以将橡皮擦放大

  10. HTTP协议/RTSP协议/RTMP协议的区别

    RTSP. RTMP.HTTP的共同点.区别 共同点: 1:RTSP RTMP HTTP都是在应用应用层. 2: 理论上RTSP RTMPHTTP都可以做直播和点播,但一般做直播用RTSP RTMP, ...