一、我的博客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. 浅谈MySQL数据类型

    MySQL 数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的. MySQL支持多种类型,大致可以分为三类:数值.日期/时间和字符串(字符)类型. 一.数值类型 MySQL支持所有标 ...

  2. 好用的Markdown编辑器一览

    Markdown 是一种简单的.轻量级的标记语法.用户可以使用诸如 * # 等简单的标记符号以最小的输入代价生成极富表现力的文档. Markdown具有很多优点: 写作中添加简单符号即完成排版,所见即 ...

  3. 从PowerDesigner表字段的Name到EF实体类属性的Display Name(根据PowerDesigner生成EF实体类中文注释和验证元数据)

    第一步:将PowerDesigner表字段的中文Name填入Comment中:工具-Execute Commands-Edit/Run Script... '********************* ...

  4. 当利用pip安装模块出现错误时咋办

    >在DOS窗口中到Python安装路径的scripts中执行  pip install pyperclip 出现错误 >>错误提示:Fatal error in launcher: ...

  5. MWeb 1.4 新功能介绍一:引入文件夹到 MWeb 中管理,支持 Octpress、Jekyll 等静态博客拖拽插入图片和实时预览

    之前在 MWeb 中打开非文档库中的 Markdown 文档,如果文档中有引用到本机图片,是没办法在 MWeb 中显示出来和预览的.这是因为 Apple 规定在 Mac App Store(MAS) ...

  6. TP框架 ---空控制器和空操作

    通过之前的学习我们知道了index.php是一个入口文件,如果没有这个入口文件的话,我们需要自己创建! [视图模板文件创建] 视图模板文件存放发位置在: 里面没有模板文件 如果我们想要访问Login控 ...

  7. c++友元函数

    c++友元函数分两类: 一://友员全居函数 /*#include <iostream>using namespace std;class aaa{    friend void prin ...

  8. 今天无意发现jquery的一个以前的误导

    本文提供即刻提升你的脚本性能的十个步骤.不用担心,这并不是什么高深的技巧.人人皆可运用!这些技巧包括: 使用最新版本 合并.最小化脚本 用for替代each 用ID替代class选择器 给选择器指定前 ...

  9. hadoop的自定义数据类型和与关系型数据库交互

    最近有一个需求就是在建模的时候,有少部分数据是postgres的,只能读取postgres里面的数据到hadoop里面进行建模测试,而不能导出数据到hdfs上去. 读取postgres里面的数据库有两 ...

  10. Android判断网路是否畅通加权限

    权限 <uses-permission android:name="android.permission.INTERNET"/> <uses-permission ...