# PagerSlidingTabStrip
**Repository Path**: songgx.code.osc/PagerSlidingTabStrip
## Basic Information
- **Project Name**: PagerSlidingTabStrip
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2016-03-17
- **Last Updated**: 2024-12-01
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# PagerSlidingTabStrip
这是Android上的一个ViewPager滑动导航条组件,主要就是用于配合ViewPager实现滑动的导航条,以容纳无限多的Tab

##Features
>* 当所有的Tab在横向上无法充满整个屏幕的时候,将会根据allowWidthFull参数决定是否调整所有的Item来充满。调整的规则是平均分配每个Tab的宽度,如果某个Tab的最小宽度大于平均宽度,那么其宽度保持不变
>* 当所有的Tab在横向上能够充满整个屏幕的时候,将会从左到右依次排列
>* 用法简单,支持在布局中直接包含View或者在代码中直接调用PagerSlidingTabStrip.addTab()方法添加
>* Tab View支持设置外边距
>* 支持通过disableTensileSlidingBlock属性设置是否拉伸滑块图片
## Sample App
[Download it on Github](https://github.com/xiaopansky/PagerSlidingTabStrip/raw/master/docs/sample.apk)

##Usage Guide
####1. 导入PagerSlidingTabStrip(Import PagerSlidingTabStrip to your project)
#####使用Gradle(Use Gradle)
``从JCenter仓库导入(Import from jcenter)``
```groovy
dependencies{
compile 'me.xiaopan:pagerslidingtabstrip:1.6.0'
}
```
``离线模式(Offline work)``
到[releases](https://github.com/xiaopansky/PagerSlidingTabStrip/releases)页面下载最新版本的aar包(这里以pagerslidingtabstrip-1.6.0.aar为例,具体请以你下载的版本为准),并放到你module的libs目录下
然后在你module的build.gradle文件中添加以下代码:
```groovy
repositories{
flatDir(){
dirs 'libs'
}
}
dependencies{
compile(name:'pagerslidingtabstrip-1.6.0', ext:'aar')
}
```
最后同步一下Gradle即可
#####使用Eclipse(Use Eclipse)
1. 首先到[releases](https://github.com/xiaopansky/PagerSlidingTabStrip/releases)页面下载最新版本的aar包
2. 然后参考文章[1分钟不用改任何代码在Eclipse中使用AAR](http://blog.csdn.net/u013308121/article/details/46717499)集成aar
####2. 配置最低版本(Configure min sdk version)
PagerSlidingTabStrip最低兼容API v7
#####使用Gradle(Use Gradle)
在app/build.gradle文件文件中配置最低版本为7
```groovy
android {
...
defaultConfig {
minSdkVersion 7
...
}
}
```
#####使用Eclipse(Use Eclipse)
在AndroidManifest.xml文件中配置最低版本为7
```xml
...
```
####3.在布局中引用PagerSlidingTabStrip
```xml
```
效果图如下:

你还可以在代码中通过PagerSlidingTabStrip.setTabViewFactory()方法添加Tab
自定义属性释义:
>* ``slidingBlock``:指定滑块图片,对应的方法是PagerSlidingTabStrip.setSlidingBlockDrawable(Drawable)
>* ``allowWidthFull``:当所有Tab无法充满PagerSlidingTabStrip时是否自动调整所有Tab的宽度来达到充满的目的,对应的方式是PagerSlidingTabStrip.setAllowWidthFull(boolean)
>* ``disableViewPager``:禁用ViewPager,禁用后不会有初始选中状态效果,也不会绘制滑块,你调用setViewPager()方法也不会起作用
>* ``disableTensileSlidingBlock``:禁止拉伸滑块图片
####4.设置ViewPager
```java
ViewPager moreViewPager = (ViewPager) findViewById(R.id.viewPager);
moreViewPager.setAdapter(...);
pagerSlidingTabStrip.setViewPager(moreViewPager);
```
注意:
>* 在调用setViewPager(ViewPager)方法之前要先设置ViewPager的Adapter
你还可以直接调用ViewPager.setCurrentItem(int)方法来改变默认Tab(无论是在调用setViewPager(ViewPager)方法之前还是之后都可以)
更详尽的代码请下载源码请使用Android Studio导入查看
##License
```java
/*
* Copyright (C) 2013 Peng fei Pan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
```