现在很多的应用页面都是由一个个的TAB组成的,我们可以用布局加事件监听实现tab ,只是这样的控制非常麻烦,而且有很多的开源项目可以实现这样的功能,我们今天就介绍一下ViewPagerIndicator,这个项目就是可以实现这种效果。
首先下载依赖项目
https://github.com/JakeWharton/Android-ViewPagerIndicator
这个页面上有集成到自己项目的方式,大致就是:
1、将该项目设为自己项目的依赖项目。
2、在相应窗口的布局文件中引入TabPageIndicator,在Android-ViewPagerIndicator项目中有很多的tab的样式,它们对应不同的类。
一般我们都是将Android-ViewPagerIndicator与viewpager组合使用,当我们切换tab的时候下面的viewpager也一起切换。
- <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical"
- >
- <com.viewpagerindicator.TabPageIndicator
- android:id="@+id/indicator"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"/>
- <android.support.v4.view.ViewPager
- android:id="@+id/pager"
- android:layout_width="fill_parent"
- android:layout_height="0dp"
- android:layout_weight="1"/>
- </LinearLayout>
3、然后在窗口Activity或者Fragment内,我们获取该TabPageIndicator和ViewPager,并将它们关联起来。
- pager=(ViewPager)findViewById(R.id.pager);
- indicator=(TabPageIndicator)findViewById(R.id.indicator);
- indicator.setViewPager(pager);//关联
4、改变tab的样式,我们这边只看TabPageIndicator的样式修改,其他基本类似。我们进入TabPageIndicator的源码在构造函数。
- publicTabPageIndicator(Contextcontext,AttributeSetattrs){
- super(context,attrs);
- setHorizontalScrollBarEnabled(false);
- mTabLayout=newIcsLinearLayout(context,R.attr.vpiTabPageIndicatorStyle);
- addView(mTabLayout,newViewGroup.LayoutParams(WRAP_CONTENT,MATCH_PARENT));
- }
我们可以看出TabPageIndicator使用的是vpiTabPageIndicatorStyle样式。我们可以在依赖项目中看到系统自带的样式,在依赖项目的values/vpi_styles.xml文件中,这里面定义了所有tab类型的样式。
- <stylename="Widget.TabPageIndicator"parent="Widget">
- <itemname="android:gravity">center</item>
- <itemname="android:background">@drawable/vpi__tab_indicator</item>
- <itemname="android:paddingLeft">22dip</item>
- <itemname="android:paddingRight">22dip</item>
- <itemname="android:paddingTop">12dp</item>
- <itemname="android:paddingBottom">12dp</item>
- <itemname="android:textAppearance">@style/TextAppearance.TabPageIndicator</item>
- <itemname="android:textSize">12sp</item>
- <itemname="android:maxLines">1</item>
- </style>
我们可以根据自己的需要继承这个样式并修改。
到这里基本就OK了。Android-ViewPagerIndicator的集成非常简单的。
Android-ViewPagerIndicator可以与ActionBarSherlock合成开发的。非常方便
最后附上我的Viewpager适配器的类
- privateclassMyViewPagerAdapterextendsFragmentPagerAdapter{
- privateList<SelectItem>mList=newArrayList<SelectItem>();
- publicvoidsetSelects(List<SelectItem>list){
- this.mList=list;
- }
- publicMyViewPagerAdapter(FragmentManagerfm){
- super(fm);
- }
- @Override
- publicFragmentgetItem(intposition){
- returnmList.get(position).fragment;
- }
- @Override
- publicCharSequencegetPageTitle(intposition){
- returnmList.get(position).desc;
- }
- @Override
- publicintgetCount(){
- returnmList.size();
- }
- }
相关推荐
在Android-ViewPagerIndicator-master压缩包中,包含了项目的源代码,开发者可以通过阅读和学习这些代码来理解如何自定义和集成此类指示器。主要源代码文件可能包括: 1. `ViewPagerIndicator` 类:这是核心指示器...
在实际应用中,我们可以通过以下步骤将Android-ViewPagerIndicator集成到项目中: 1. **添加依赖**:在build.gradle文件中添加项目的依赖,通常通过Maven或JitPack仓库获取。 2. **布局配置**:在XML布局文件中...
此次我们关注的是他的一个开源项目——Android-ViewPagerIndicator,版本号为2.4.0,Git提交ID为gc_android。这个库主要提供了与ViewPager结合使用的指示器组件,用于优雅地呈现页面切换的标题,同时也支持其他的...
3. **集成ViewPagerIndicator** 要在项目中使用`ViewPagerIndicator`,首先需要添加库依赖。在Android Studio中,可以在`build.gradle`文件中添加如下依赖: ```groovy dependencies { implementation '...
ViewPagerIndicator 是一个流行的 Android 库,它为 ViewPager 提供了可自定义的指示器。ViewPager 是 Android SDK 中的一个组件,允许用户在多个页面之间水平滑动,常用于实现类似Tab的界面效果。...
2. **Android-ViewPagerIndicator-master**:这是一个流行开源库,用于在Android上创建漂亮的ViewPager指示器,它使得用户可以清楚地知道在滑动视图时当前的位置。ViewPager是Android中用于实现滑动切换多个页面的...
3. **易于集成**:Jake Wharton的库通常都具有良好的文档支持和简单的API,ViewPagerIndicator也不例外。只需几个简单的步骤,开发者就可以将其集成到项目中,并快速实现页面指示功能。 4. **兼容性好**:...
【描述】中的"开源项目的删减版"可能指的是Android-ViewPagerIndicator,这是一个用于Android的库,提供了多种指示器样式,可以与ViewPager组件配合,帮助用户在多页视图之间进行导航。它简化了实现滑动桌面效果的...
学习和使用ViewPagerIndicator,开发者不仅可以提升应用的用户体验,还能深入理解Android的视图系统、触摸事件处理机制以及第三方库的集成方法。同时,对于想要深入Android开发的程序员,阅读和研究Jake Wharton的...
【Android ViewPagerIndicator】是一种在Android应用中常用的UI组件,它为ViewPager添加了视觉指示器,通常表现为一组小圆点,用于指示用户当前所查看的页面以及总的页面数量。这个库提供了一种简单的方法来增强用户...
这个开源项目集合包含了一系列在Android开发中非常实用的库和组件,这些项目可以帮助开发者提升应用的功能性和用户...开发者可以根据自己的需求选择合适的库进行集成,从而提高开发效率并打造更加出色的Android应用。
`ViewPagerIndicator`库包含了一系列预定义的指示器样式,如标题条、圆点指示器、线性指示器等,这些都可以通过简单的配置轻松应用到你的项目中。使用`ViewPagerIndicator`可以极大地提升应用程序的用户体验,因为它...
2. **Facebook-android-sdk** - Facebook为Android提供的SDK,使得开发者可以轻松地将Facebook功能集成到自己的应用中,包括登录、分享、社交图谱等功能。开发者可以通过Facebook Developers网站获取更多相关文档和...
Android中有多种开源库提供了多样化的指示器实现,例如`Android-ViewPagerIndicator`项目。这个库包含了一系列不同风格的指示器,如圆点、小球、线条等,可以轻松集成到应用中,无需从零开始编写自定义代码。 `...
5. **简单易用**:集成过程相对简单,只需要几行代码即可实现基本功能。 在实际使用中,你需要按照以下步骤来集成`ViewPagerIndicator`: 1. **添加依赖**:在你的`build.gradle`文件中添加`ViewPagerIndicator`的...
"viewpaper项目"是一个开源项目,它显然与Android开发有关,因为压缩包中的文件名为"Android-ViewPagerIndicator-master",这表明它包含了Android ViewPager Indicator库的源代码。ViewPager是Android平台上的一个...
6. **Android-ViewPagerIndicator** 这个项目为ViewPager提供视觉指示器,帮助用户跟踪当前页面和总页面数。它兼容Android Support Library和ActionBarSherlock,使得在应用的引导页或者页面切换时能有更直观的导航...
2. **库的集成**:首先,需要在项目的build.gradle文件中添加JakeWharton-Android-ViewPagerIndicator库的依赖,然后在布局文件中添加Indicator视图,并与ViewPager关联。 3. **自定义样式**:JakeWharton的库提供...
在这里,开发者可能会找到如何将ViewPagerIndicator集成到自己的项目中的步骤,包括添加依赖库、设置布局文件、以及如何在代码中初始化和控制指示器。 `ViewPagerDemo`可能是一个示例项目,展示了如何在实际的...