在ViewPager这样的能够滑动的控件上,总是有非常多的文章能够做。上次的文章,我们实现了一个自己定义的ViewPager的指示器,这篇文章,我们主要是想利用Android自带的控件,实现一个指示器,这个控件,就是support-v4包里面的PagerTabStrip控件。

首先,我们先看一下实现效果,大饱眼福。

能够看到,效果实现的也是非常棒,比之前自己定义的标签指示器更加的流畅。以下,简介一下PagerTabStrip和它的使用。

PagerTabStrip是v4支持包里面的类,是ViewPager专用的类。不能在其它地方使用。在使用的时候,我们仅仅须要在ViewPager的布局里面声明就可以。

如以下的代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/white"
android:orientation="vertical" > <android.support.v4.view.ViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent" > <android.support.v4.view.PagerTabStrip
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:background="@android:color/holo_blue_light"
android:textColor="@android:color/white" />
</android.support.v4.view.ViewPager> </LinearLayout>

我们能够设置layout_gravity属性,比方top或者是bottom,来控制显示的位置。

除此之外,不须要进行其它设置。

剩下的,就是我们须要在代码里面实现的了。

import java.util.ArrayList;
import java.util.List; import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager; public class PagerTabStripActivity extends FragmentActivity { private List<Fragment> fragments;
private ViewPager viewPager;
private List<String> titleList; @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initView();
} private void initView() {
viewPager = (ViewPager) findViewById(R.id.viewPager); titleList = new ArrayList<String>();
titleList.add("最新推荐");
titleList.add("游戏娱乐");
titleList.add("影音视频"); fragments = new ArrayList<Fragment>();
fragments.add(new MyFragment(android.R.color.holo_green_light));
fragments.add(new MyFragment(android.R.color.holo_orange_light));
fragments.add(new MyFragment(android.R.color.holo_red_light)); FragmentPagerAdapter adapter = new FragmentPagerAdapter(
getSupportFragmentManager()) { @Override
public int getCount() {
return 3;
} @Override
public Fragment getItem(int position) {
return fragments.get(position);
} @Override
public CharSequence getPageTitle(int position) {
return titleList.get(position);
} }; viewPager.setAdapter(adapter); }
}

在上面的代码里面,展现了我们怎样控制标题的文字。我们仅仅须要重写getPagerTitle方法就可以。假设不想要以下的指示器。把PagerTabStrip换成PagerTitlestrip就可以。能够把剩下的。就交给伟大的Android系统去做吧!

最新文章

  1. [LeetCode] Sort List 链表排序
  2. bzoj4008
  3. Python几个算法实现
  4. Android捕获崩溃异常
  5. build path--use as source folder 应用
  6. python应用部署--flask
  7. ASP.NET Core 依赖注入(DI)简介
  8. 谁说 JavaScript 简单的?
  9. 唱吧DevOps的落地,微服务CI/CD的范本技术解读
  10. Vivado如何使用命令行创建工程
  11. shell脚本-2
  12. Rocket Typist for Mac(增强型文本快速输入工具)破解版安装
  13. 函数使用二:采购申请BAPI_PR_CREATE
  14. tp5 excel导出类
  15. [转]Oracle 语法之 OVER (PARTITION BY ..) 及开窗函数
  16. Python 核心编程
  17. Javassist简介
  18. MySQL主从复制状态及数据一致性监测工具
  19. 为MarS Board安装无线网卡Linux驱动
  20. SpringBoot学习:添加JSP支持

热门文章

  1. [Asp.net core]使用Polly网络请求异常重试
  2. mount.nfs: access denied by server while mounting &lt;SERVER IP&gt;:&lt;SERVER PATH&gt;
  3. android 工具类 DateUtil
  4. java初始化ArrayList
  5. OPTAUTH 两步验证详解
  6. 数据更新后让ListView自动滚动到底部
  7. TextView字体,行距,html格式,超链接,对大长度的设定
  8. Spring data jpa Specification查询关于日期的范围搜索
  9. Netty 中 IOException: Connection reset by peer 与 java.nio.channels.ClosedChannelException: null
  10. 【BLE】CC2541之发现服务与特征值