Github地址:https://github.com/astuetz/PagerSlidingTabStrip

1,Include the library

dependencies {
compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
}
2,
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" xmlns:app="http://schemas.android.com/apk/res/com.example.viewfragment"> <com.astuetz.PagerSlidingTabStrip
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="48dip"
app:pstsShouldExpand="true"
/> <android.support.v4.view.ViewPager
android:id="@+id/viewPager"
android:layout_below="@id/tabs"
android:layout_width="fill_parent"
android:layout_height="fill_parent" /> </RelativeLayout>

3,使用和代码设置属性,

 private void initView() {

        get_record_viewpager = (ViewPager) this
.findViewById(R.id.get_record_viewpager);
get_record_tab = (PagerSlidingTabStrip) this
.findViewById(R.id.get_record_tab);
dm = getResources().getDisplayMetrics();
monthGetRecordFragment = new MonthGetRecordFragment();
totalGetRecordFragment = new TotalGetRecordFragment();
fragmentList.add(monthGetRecordFragment);
fragmentList.add(totalGetRecordFragment);
pagerAdapter = new GetRecordsPagerAdapter(getSupportFragmentManager(),
fragmentList);
get_record_viewpager.setAdapter(pagerAdapter);
get_record_tab.setViewPager(get_record_viewpager);
setTabsValue();
}
 /**
* 对PagerSlidingTabStrip的各项属性进行赋值。
*/
private void setTabsValue() {
// 设置Tab是自动填充满屏幕的
get_record_tab.setShouldExpand(true);
// 设置Tab的分割线是透明的
get_record_tab.setDividerColor(Color.TRANSPARENT);
// 设置Tab底部线的高度
get_record_tab.setUnderlineHeight((int) TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP, 1, dm));
// 设置Tab Indicator的高度
get_record_tab.setIndicatorHeight((int) TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP, 2, dm));
// 设置Tab标题文字的大小
get_record_tab.setTextSize((int) TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_SP, 15, dm));
// 设置Tab标题默认的颜色
get_record_tab.setTextColor(getResources().getColor(
R.color.get_record_text_unselected_color));
// 设置选中Tab标题的颜色
get_record_tab.setSelectedTextColor(getResources().getColor(
R.color.get_record_text_selected_color));
// 设置Tab底部线的颜色
get_record_tab.setUnderlineColor(getResources().getColor(
R.color.get_record_line_unselected_color));
// 设置Tab Indicator的颜色
get_record_tab.setIndicatorColor(getResources().getColor(
R.color.get_record_line_selected_color));
// 取消点击Tab时的背景色
// get_record_tab.setTabBackground(getResources().getColor(R.color.tab_pressed_hover));
}

或者XMl 中设置属性

个性化设置

为了让你的app不像另一个 Play Store上面的app,你可以添加这些属性来做出自己独具一格的应用。

    • pstsIndicatorColor Color of the sliding indicator  滑动条的颜色
    • pstsUnderlineColor Color of the full-width line on the bottom of the view  滑动条所在的那个全宽线的颜色
    • pstsDividerColor Color of the dividers between tabs   每个标签的分割线的颜色
    • pstsIndicatorHeightHeight of the sliding indicator       滑动条的高度
    • pstsUnderlineHeight Height of the full-width line on the bottom of the view    滑动条所在的那个全宽线的高度
    • pstsDividerPadding Top and bottom padding of the dividers   分割线底部和顶部的填充宽度
    • pstsTabPaddingLeftRight Left and right padding of each tab   每个标签左右填充宽度
    • pstsScrollOffset Scroll offset of the selected tab
    • pstsTabBackground Background drawable of each tab, should be a StateListDrawable  每个标签的背景,应该是一个StateListDrawable
    • pstsShouldExpand If set to true, each tab is given the same weight, default false   如果设置为true,每个标签是相同的控件,均匀平分整个屏幕,默认是false
    • pstsTextAllCaps If true, all tab titles will be upper case, default true   如果为true,所有标签都是大写字母,默认为true
GetRecordsPagerAdapter.java
package com.example.viewpagerdemo;

import java.util.List;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter; /**
* 类说明:
*
* @author fuyanan
* @date 2015-8-3
* @version 1.0.0
*/
public class GetRecordsPagerAdapter extends FragmentPagerAdapter {
private final String[] titles = { "本月领取", "累积领取" };
private List<Fragment> fragmentLists; @Override
public CharSequence getPageTitle(int position) {
// TODO Auto-generated method stub
return titles[position];
} public GetRecordsPagerAdapter(FragmentManager fm,
List<Fragment> fragmentLists) {
super(fm);
this.fragmentLists = fragmentLists;
} @Override
public Fragment getItem(int position) {
// TODO Auto-generated method stub
return fragmentLists.get(position);
} @Override
public int getCount() {
// TODO Auto-generated method stub
return fragmentLists.size();
} }

MonthGetRecordFragment.java和TotalGetRecordFragment的代码如下所示

public class MonthGetRecordFragment extends Fragment {

    @Override
public View onCreateView(LayoutInflater inflater,
@Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
// TODO Auto-generated method stub
return inflater.inflate(R.layout.month_get_record, container, false);
}
}
 

PagerSlidingTabStrip(viewPage滑动菜单)的更多相关文章

  1. bootstrap-简单实用的垂直手风琴滑动菜单列表特效

    前端: <html lang="zh"> <head> <meta charset="UTF-8"> <meta ht ...

  2. html5手机端的点击弹出侧边滑动菜单代码

    效果预览:http://hovertree.com/texiao/html5/19/ 本效果适用于移动设备,可以使用手机等浏览效果. 源码下载:http://hovertree.com/h/bjaf/ ...

  3. Android 滑动菜单框架--SwipeMenuListView框架完全解析

    SwipeMenuListView(滑动菜单) A swipe menu for ListView.--一个非常好的滑动菜单开源项目. Demo 一.简介 看了挺长时间的自定义View和事件分发,想找 ...

  4. ionic教程之Win10环境下ionic+angular实现滑动菜单及列表

    写博客,不容易,你们的评论和转载,就是我的动力,但请注明出处,隔壁老王的开发园:http://www.cnblogs.com/titibili/p/5124940.html 2016年1月11日 21 ...

  5. Android 3D滑动菜单完全解析,实现推拉门式的立体特效

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/10471245 在上一篇文章中,我们学习了Camera的基本用法,并借助它们编写了一 ...

  6. Android双向滑动菜单完全解析,教你如何一分钟实现双向滑动特效

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9671609 记得在很早之前,我写了一篇关于Android滑动菜单的文章,其中有一个 ...

  7. Android 学习笔记之AndBase框架学习(七) SlidingMenu滑动菜单的实现

    PS:努力的往前飞..再累也无所谓.. 学习内容: 1.使用SlidingMenu实现滑动菜单..   SlidingMenu滑动菜单..滑动菜单在绝大多数app中也是存在的..非常的实用..Gith ...

  8. [ionic开源项目教程] - 第3讲 左右滑动菜单的实现(使用Tabs和SlideBox)

    使用Tabs和SlideBox实现左右滑动菜单 1.将tab1.html的代码改为如下: <ion-view view-title="健康"> <ion-cont ...

  9. android 自定义ViewGroup和对view进行切图动画实现滑动菜单SlidingMenu

    示意图就不展示了,和上一节的一样,滑动菜单SlidingMenu效果如何大家都比较熟悉,在这里我简单说明一下用自定义ViewGroup来实现. 实现方法:我们自定义一个ViewGroup实现左右滑动, ...

随机推荐

  1. 十大监视SQL Server性能的计数器

      作为DBA,每个人都会用一系列计数器来监视SQLSERVER的运行环境,使用计数器,既可以衡量当前的数据库的性能,还可以和以前的性能进行对比.我们也可以一直以快速和简单的方法把计数器做了一张图表来 ...

  2. 51nod 1428 贪心

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1428 1428 活动安排问题 基准时间限制:1 秒 空间限制:13107 ...

  3. linux monitor and maintanence

    @cacti 1.install epel extends source 2.install lamp use yum method yum install -y httpd php php-mysq ...

  4. awk指令的使用

    awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大 awk工作流程是这样的:读入有'\n'换行符分割的一条记录,然后将记录按指定的域分隔 ...

  5. url参数的编码解码Demo

    为了保证在页面传递数据的安全性,我们通常会对Url传递的参数进行编码解码操作.我们写一个Demo剖析URL编码解码过程. 完整Demo下载地址 1. Url参数如何在服务端进行编码和解码. 1.1 U ...

  6. PNG24在ie6下的完美解决方法!(DD_belatedPNG)

    原网址:http://www.zjgsq.com/1629.html 之前写过一篇<js+css滤镜设置解决PNG24在IE6下显示问题> 解决方法不是很完美,使用起来也比较麻烦. DD_ ...

  7. 【java规则引擎】之规则引擎解释

    转载:http://www.open-open.com/lib/view/open1417528754230.html 现实生活中,规则无处不在.法律.法规和各种制度均是:对于企业级应用来说,在IT技 ...

  8. vue切换样式

    在vue中使用事件来切换绑定的class样式,在vue-cli脚手架中的Home.vue中 <template> <div id="main"> <l ...

  9. 【转】JVM可视化工具插件---Visual GC

    Visual GC是一个Java 内存使用分析与GC收集的可视化工具插件 <插件下载> 一:整个区域分为三部分:spaces.graphs.histogram 1 spaces区域:代表虚 ...

  10. phpstorm下载和破解

    http://idea.qinxi1992.cn/ 官网下载对应版本,在下面进行破解! storm官网:https://www.jetbrains.com/phpstorm/ 破解网址  :http: ...