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. FZU 2165 v11(最小重复覆盖)+ codeforces 417D Cunning Gena

    告诉你若干个(<=100)武器的花费以及武器能消灭的怪物编号,问消灭所有怪物(<=100)的最小花费...当然每个武器可以无限次使用,不然这题就太水了╮(╯▽╰)╭ 这题当时比赛的时候连题 ...

  2. oracle触发器 ORA-01722:invalid number 解决方法

    问题在于,远程库是nvarchar2类型,本地是number类型,同步的时候有问题. create or replace trigger tri_org_department after insert ...

  3. SSM 加载配置文件

    配置文件中 <bean id="address" class="org.springframework.beans.factory.config.Propertie ...

  4. 【编程题目】请修改 append 函数,利用这个函数实现两个非降序链表的并集

    42.请修改 append 函数,利用这个函数实现(链表):两个非降序链表的并集,1->2->3 和 2->3->5 并为 1->2->3->5另外只能输出结 ...

  5. poj 3734 Blocks 快速幂+费马小定理+组合数学

    题目链接 题意:有一排砖,可以染红蓝绿黄四种不同的颜色,要求红和绿两种颜色砖的个数都是偶数,问一共有多少种方案,结果对10007取余. 题解:刚看这道题第一感觉是组合数学,正向推了一会还没等推出来队友 ...

  6. NYOJ题目125盗梦空间

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAssAAANLCAIAAAA4rUfgAAAgAElEQVR4nOydq7LdyrKm+yXM/SDG4y

  7. Android Programming: Pushing the Limits -- Chapter 4: Android User Experience and Interface Design

    User Stories Android UI Design 附加资源 User Stories: @.通过写故事来设计应用. @.每个故事只关注一件事. @.不同的故事可能使用相同的组件,因此尽早地 ...

  8. AR , VR, GVR ...

    虚拟现实与增强现实(眼镜或头盔)的现状与未来-简介http://blog.csdn.net/yanzhanyi/article/details/41982033 Google VR  |  Googl ...

  9. 构造方法 static 块 {}块 执行顺序

    package com.test.innerclass; public class HelloB extends HelloA { public HelloB() { System.out.print ...

  10. SQL常用方言列表

    DB2 org.hibernate.dialect.DB2Dialect DB2 AS/400 org.hibernate.dialect.DB2400Dialect DB2 OS390 org.hi ...