一、我的博客https://github.com/anan03/ananwork/tree/master/anan
1.加入
compile 'com.gxz.pagerslidingtabstrip:library:1.3.1'
2.加入布局;
<com.gxz.PagerSlidingTabStrip
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="40dp" /> <android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tabs" />
3.查找控件设置属性
 pager = (ViewPager) findViewById(R.id.pager);
tabs = (PagerSlidingTabStrip) findViewById(R.id.tabs);
ArrayList<String> list = new ArrayList<>();
for (int i = 0; i < 10; i++) {
list.add("Tab " + i);
}
pager.setAdapter(new MyPagerAdapter(getSupportFragmentManager(), list));
tabs.setViewPager(pager);
pager.setCurrentItem(1);
setTabsValue();
}
private PagerSlidingTabStrip tabs;
private ViewPager pager;
/**
* 对PagerSlidingTabStrip的各项属性进行赋值。
*/
private void setTabsValue() {
// 设置Tab是自动填充满屏幕的
tabs.setShouldExpand(true); // 设置Tab的分割线的颜色
tabs.setDividerColor(getResources().getColor(R.color.color_80cbc4));
// 设置分割线的上下的间距,传入的是dp
tabs.setDividerPaddingTopBottom(12); // 设置Tab底部线的高度,传入的是dp
tabs.setUnderlineHeight(1);
//设置Tab底部线的颜色
tabs.setUnderlineColor(getResources().getColor(R.color.color_1A000000)); // 设置Tab 指示器Indicator的高度,传入的是dp
tabs.setIndicatorHeight(4);
// 设置Tab Indicator的颜色
tabs.setIndicatorColor(getResources().getColor(R.color.color_45c01a)); // 设置Tab标题文字的大小,传入的是dp
tabs.setTextSize(16);
// 设置选中Tab文字的颜色
tabs.setSelectedTextColor(getResources().getColor(R.color.color_45c01a));
//设置正常Tab文字的颜色
tabs.setTextColor(getResources().getColor(R.color.color_C231C7)); // 设置点击Tab时的背景色
tabs.setTabBackground(R.drawable.background_tab); //是否支持动画渐变(颜色渐变和文字大小渐变)
tabs.setFadeEnabled(true);
// 设置最大缩放,是正常状态的0.3倍
tabs.setZoomMax(0.3F);
//设置Tab文字的左右间距,传入的是dp
tabs.setTabPaddingLeftRight(20);
tabs.setOnPagerTitleItemClickListener(new PagerSlidingTabStrip.OnPagerTitleItemClickListener() {
@Override
public void onSingleClickItem(int position) {
Toast.makeText(MainActivity.this, "单击", Toast.LENGTH_SHORT).show();
} @Override
public void onDoubleClickItem(int position) {
Toast.makeText(MainActivity.this, "双击", Toast.LENGTH_SHORT).show();
}
});
4.设置适配器以及Fragment
package com.lvshandian.myapplication.adapter;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.view.ViewGroup; import com.lvshandian.myapplication.fragment.FragmentContent; import java.util.ArrayList; /**
* @author 顾修忠-guxiuzhong@youku.com/gfj19900401@163.com
* @Title: MyPagerAdapter
* @Package com.guxiuzhong.pagerslidingtabstrip.adapter
* @Description:
* @date 15/11/29
* @time 下午12:53
*/
public class MyPagerAdapter extends FragmentPagerAdapter { private ArrayList<String> titles; public MyPagerAdapter(FragmentManager fm, ArrayList<String> list) {
super(fm);
this.titles = list;
} @Override
public CharSequence getPageTitle(int position) {
return titles.get(position);
} @Override
public int getCount() {
return titles.size();
} @Override
public Object instantiateItem(ViewGroup container, int position) {
return super.instantiateItem(container, position);
} @Override
public Fragment getItem(int position) {
Bundle b = new Bundle();
b.putString("title", titles.get(position));
return FragmentContent.getInstance(b);
}
} Fragment
package com.lvshandian.myapplication.fragment;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView; import com.lvshandian.myapplication.R; /**
* Created by guxiuzhong on 2015/7/6.
*/
public class FragmentContent extends Fragment { public static Fragment getInstance(Bundle bundle) {
FragmentContent fragment = new FragmentContent();
fragment.setArguments(bundle);
return fragment;
} @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
} @Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragmnet_layout, container, false);
} @Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
initView(view);
} private void initView(View view) {
TextView tv = (TextView) view.findViewById(R.id.tv_id);
tv.setText(getArguments().getString("title"));
}
}
二、原博客
https://github.com/ta893115871/PagerSlidingTabStrip
https://github.com/astuetz/PagerSlidingTabStrip https://github.com/gb-nick/PagerSlidingTabStrip
 

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

  1. viewpager+fragment滑动切换卡顿问题

    最近在做项目的时候遇到个问题,viewpager中的fragment添加使用listview添加数据后出现滑动卡顿,造成用户体验感极差.找了很久的资料,也试了很多大方法,在这里给大家分享下: 1.添加 ...

  2. viewpager fragment 滑动界面

    先新建几个fragment,包括java和xml 然后在主界面的布局文件中: <android.support.v4.view.ViewPager android:id="@+id/m ...

  3. ViewPager+Fragment 滑动菜单效果 实现步骤

    1.xml中引用ViewPager     <android.support.v4.view.ViewPager             android:id="@+id/viewPa ...

  4. Android中ViewPager实现滑动条及与Fragment结合的实例教程

    ViewPager类主要被用来实现可滑动的视图功能,这里我们就来共同学习Android中ViewPager实现滑动条及与Fragment结合的实例教程,需要的朋友可以参考下 自主实现滑动指示条先上一个 ...

  5. 使用ViewPager+Fragment来实现带滚动条的多屏滑动-IndicatorFragmentActivity

    转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17201587 介绍 在android应用中,多屏滑动是一种很常见的风格,博主 ...

  6. Android Studio 使用ViewPager + Fragment实现滑动菜单Tab效果 --简易版

    描述: 之前有做过一个记账本APP,拿来练手的,做的很简单,是用Eclipse开发的: 最近想把这个APP重新完善一下,添加了一些新的功能,并选用Android Studio来开发: APP已经完善了 ...

  7. Android中ViewPager+Fragment取消(禁止)预加载延迟加载(懒加载)问题解决方案

    转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53205878本文出自[DylanAndroid的博客] Android中Vie ...

  8. Android - ViewPager+Fragment初始化问题

    Android应用开发中,经常会用到ViewPager + Fragment,虽然效果不错,但随之而来的还有一些问题,下面就说说其中的初始化问题. ViewPager初始化时会预加载前后的2个页面,即 ...

  9. ViewPager -- Fragment 切换卡顿 性能优化

    当ViewPager切换到当前的Fragment时,Fragment会加载布局并显示内容,如果用户这时快速切换ViewPager,即 Fragment需要加载UI内容,而又频繁地切换Fragment, ...

随机推荐

  1. iOS开发masonry的一些使用简介

    从一开始的纯代码计算frame,虽然自认为计算frame 刚刚的,但是到后来还是开始xib的自动约束和手动约束与frame搭配使用,经历这几种方式,大概一年前开始普遍使用masonry来代码约束之后也 ...

  2. 如何理解C#委托

    一:从下面的例子开始,理解委托变量本质 如上图,Condition是我定义的委托变量.这个委托变量的本质就是地址变量(即C语言当中的指针变量),它保存的是方法的入口地址. 当函数的调用者传递实参给这个 ...

  3. php常用关键字

    1.final关键字 <?php //final关键字修饰的类 是最终的类不能被继承 class demo{ //final关键字修饰的成员方法 是最终版本的方法不能被重写 final publ ...

  4. eclipse下的emacs风格快捷键

    Ieclipse emacs类快捷键 win + shift + b 切换设置断点 win + shift + f 格式化代码 win + shift + l 显示绑定的快捷键 win + shift ...

  5. SQL SELECT INTO使用

    SQL SELECT INTO 语句可用于创建表的备份复件. SELECT INTO 语句 SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中. SELECT INTO 语句常用 ...

  6. mysql用户密码修改,用户添加、删除及设置权限

    一下的示例所用用户名和密码为:test,111111 Mysql密码修改: Mysql修改密码需要root的权限,先执行mysql -uroot -p(密码); 1)使用set password方式来 ...

  7. GPS部标监控平台的功能设计(一)-功能列表

    在2011年交通部的796标准推出后,随着各地交管部门的硬性要求,大多数的GPS监控系统或者车辆管理系统或者物流管理系统,无论是旧的,还是新开发的,都必须要以796标准为基础蓝本,首先要满足796的要 ...

  8. form表单编码方式设置为multipart/form-data,后台参数出现乱码情况

    一般在上传图片过程中,form中的编码方式一般采用multipart/form-data方式编码,但是后台这取参数时,可能会出现乱码情况:这里后台要采用转换编码方式: 页面: 后台:获取表单元素时,

  9. c++的引用

    /*#include"iostream"using namespace std;void any_function(int & p);//声明函数any_function/ ...

  10. ubuntu配置tftp服务

    ubuntu配置TFTP服务: TFTP是用来下载远程文件的最简单的网络协议,基于UDP协议.xinetd是新一代的网络守护进程服务程序,经常用于管理多种轻量型internet服务. sudo apt ...