ViewPager+tab+Fragment的滑动
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的滑动的更多相关文章
- 应用框架 ViewPager Tab Fragment SlidingMenu
介绍 常见的应用框架 框架一:多个tab+Fragment,点击不同的tab加载不同的Fragment,不能滑动切换只能点击切换: 框架二:多个tab+ViewPager+FragmentPagerA ...
- 使用ViewPager和Fragment实现滑动导航
ViewPage是android-support-v4.jar包提供的用于页面滑动的库,android-support-v4.jar是google推荐使用的一个类库,在项目中使用之前,你必须其添加到项 ...
- Android开发之ViewPager+ActionBar+Fragment实现响应式可滑动Tab
今天我们要实现的这个效果呢,在Android的应用中十分地常见,我们可以看到下面两张图,无论是系统内置的联系人应用,还是AnyView的阅读器应用,我们总能找到这样的影子,当我们滑动屏幕时,Tab可 ...
- Android实战简易教程-第三十四枪(基于ViewPager和FragmentPagerAdapter实现滑动通用Tab)
上一段时间写过一篇文章<基于ViewPager实现微信页面切换效果> 里面实现了相似微信Tab的页面.可是这样的实现方法有个问题.就是以后全部的代码逻辑都必须在MainActivity中实 ...
- 低版本系统兼容的ActionBar(六)用Fragment+ViewPager+Tab实现快速导航
Tab经常和Fragment结合使用,这一讲我们用3种方式来实现这种快捷导航. 0.重要的两个监听器 MyTabListener,这个我们之前已经接触过了 package com.kale.actio ...
- Android tab导航的几种方法:ActionBar tab +fragment,Viewpager+pagerTitleStrip,开源框架ViewPageIndicator 和 ViewPager
action来实现tab标签 并跟fragment结合 因为要写新闻客户端这个tab导航是必须的 这里我写几个小练习,希望大家融会贯通. 1actionbar设置tab +fragment 布局是个l ...
- ViewPager+Fragment实现滑动显示,且Fragment里面又放Fragment+viewPager
思路:新建一个Activity,且这个Activity要继承FragementActivity,在Activity的布局文件中放入了一个viewPager,为了效果好看,还做了个导航,使得ViewPa ...
- 【Android 界面效果27】利用ViewPager、Fragment、PagerTabStrip实现多页面滑动效果
本文主要介绍如何利用ViewPager.Fragment.PagerTabStrip实现多页面滑动效果.即google play首页.新浪微博消息(at.评论.私信.广播)页面的效果.ViewPage ...
- ViewPager结合Fragment进行无限滑动
实现ViewPager结合Fragment实现无限循环切换,这里也是在适配器里面进行的,当然使用滑动监听也能够实现 import android.support.v4.app.Fragment; im ...
随机推荐
- CentOS搭建svn服务器支持https访问
在CentOS6.3 64位机器上配置SVN服务器,并设置只允许HTTPS连接,可以配置多个repos源,每个源都拥有自己的组和成员,用于权限控制. 安装相关软件 Apache yum install ...
- codeforces 493A. Vasya and Football 解题报告
题目链接:http://codeforces.com/contest/493/problem/A 题目意思:给出两个字符串,分别代表 home 和 away.然后有 t 个player,每个playe ...
- JS 基础 入门
JS做弹窗效果 //单行注释/*多行注释*/// 网页 标签语言 js语言是脚本语言/* 数据类型: 容器 1.整型 (int) 2.小数类型: float: 单精度的小数: double: ...
- 【编程题目】在 O(1)时间内删除链表结点
60.在 O(1)时间内删除链表结点(链表.算法).题目:给定链表的头指针和一个结点指针,在 O(1)时间删除该结点.链表结点的定义如下:struct ListNode{int m_nKey;List ...
- 【XLL API 函数】xlGetName
以字符串格式返回 DLL 文件的长文件名. 原型 Excel12(xlGetName, LPXLOPER12 pxRes, 0); 参数 这个函数没有参数 属性值和返回值 返回文件名和路径 实例 \S ...
- 118. Pascal's Triangle
题目: Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5, ...
- php Internal Server Error
Internal Server Error The server encountered an internal error or misconfiguration and was unable to ...
- Java 回调机制的理解
// 在接口中声明一个处理耗时操作结果的回调方法. // Local 实现这个接口,实现处理耗时操作结果的回调方法. // Local 获得 Remote 对象,在子线程中调用 Remote 的处理耗 ...
- Django环境配置
Django安装 #安装最新版本的Django $ pip install django #或者指定安装版本 pip install -v django==1.7.1 项目创建 $ django-ad ...
- 学习hibernate @Entity该导入哪个包
1.在@Entity时很容易顺手导入@org.hibernate.annotations.Entity这个包,结果导致了异常.其实应该导入的是@javax.persistence.Entity Alw ...