原文地址http://blog.csdn.net/crazy1235/article/details/42678877

效果:滑动切换;点击标签切换。

代码:https://github.com/ldb-github/Layout_Tab

1、使用ViewPager和PagerTabStrip/PagerTitleStrip进行布局。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"> <android.support.v4.view.ViewPager
android:id="@+id/fifth_vp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"> <android.support.v4.view.PagerTabStrip
android:id="@+id/fifth_strip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#7EC0EE"
android:padding="10dp"/> </android.support.v4.view.ViewPager>
</LinearLayout>

viewpager_pagertitle_pagertab.xml

1、要实现PagerAdapter的getPageTitle()方法,此方法提供了标签名称。

2、PaperTabStrip是PagerTitleStrip的子类,它添加了指示器功能,也就是标签下面的小矩阵。

public class ViewPagerAndPagerTitleOrPagerTabActivity extends Activity{

    // viewpager
private ViewPager viewPager;
// viewpager的标题 使用PagerTitleStrip只需要把Lyaout文件中的PagerTabStrip改为PagerTitleStrip
private PagerTitleStrip titleStrip;
// viewpager的指示器
private PagerTabStrip tabStrip;
// view集合
private List<View> viewList;
// 标题集合
private List<String> titleList; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.viewpager_pagertitle_pagertab); init();
} private void init(){
viewList = new ArrayList<>();
LayoutInflater inflater = getLayoutInflater();
View view = inflater.inflate(R.layout.viewpager_pageradapter_tab1, null);
viewList.add(view);
view = inflater.inflate(R.layout.viewpager_pageradapter_tab2, null);
viewList.add(view);
view = inflater.inflate(R.layout.viewpager_pageradapter_tab3, null);
viewList.add(view); titleList = new ArrayList<>();
titleList.add("标题1");
titleList.add("标题2");
titleList.add("标题3"); initViewPager();
}
private void initViewPager(){
viewPager = (ViewPager) findViewById(R.id.fifth_vp);
viewPager.setAdapter(pagerAdapter); // 修改指示器的颜色
// tabStrip = (PagerTabStrip) findViewById(R.id.fifth_strip);
// tabStrip.setTabIndicatorColor(Color.RED); } /**
* 适配器
*/
PagerAdapter pagerAdapter = new PagerAdapter() {
@Override
public int getCount() {
return viewList.size();
} @Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
} @Override
public Object instantiateItem(ViewGroup container, int position) {
container.addView(viewList.get(position));
return viewList.get(position);
} @Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView(viewList.get(position));
} @Override
public CharSequence getPageTitle(int position) {
return titleList.get(position);
}
};
}

ViewPagerAndPagerTitleOrPagerTabActivity.java

Android Tab -- 使用ViewPager、PagerTitleStrip/PagerTabStrip来实现的更多相关文章

  1. Android tab导航的几种方法:ActionBar tab +fragment,Viewpager+pagerTitleStrip,开源框架ViewPageIndicator 和 ViewPager

    action来实现tab标签 并跟fragment结合 因为要写新闻客户端这个tab导航是必须的 这里我写几个小练习,希望大家融会贯通. 1actionbar设置tab +fragment 布局是个l ...

  2. Android Tab -- 使用ViewPager、Fragment、FragmentPagerAdapter来实现

    原文地址:http://blog.csdn.net/crazy1235/article/details/42678877 效果:滑动切换:点击标签切换. 代码:https://github.com/l ...

  3. Android Tab -- 使用ViewPager、PagerAdapter来实现

    原文地址:http://blog.csdn.net/crazy1235/article/details/42678877 效果:滑动切换,自动切换. 代码:https://github.com/ldb ...

  4. Android开发之ViewPager+ActionBar+Fragment实现响应式可滑动Tab

     今天我们要实现的这个效果呢,在Android的应用中十分地常见,我们可以看到下面两张图,无论是系统内置的联系人应用,还是AnyView的阅读器应用,我们总能找到这样的影子,当我们滑动屏幕时,Tab可 ...

  5. 【Android界面实现】使用PagerTabStrip实现有滑动标签的Viewpager

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

  6. android Tab =viewpager+fragmnet

    1.定义几个fragment 的subclass 如fragmentone,fragmenttwo; public class fragmentthree extends Fragment { pri ...

  7. Android Tab类型主界面 Fragment+TabPageIndicator+ViewPager

    文章地址: Android项目Tab类型主界面大总结 Fragment+TabPageIndicator+ViewPager 1.使用ViewPager + PagerAdapter 每个页面的内容都 ...

  8. Android开发之ViewPager

    什么是ViewPager? ViewPager是安卓3.0之后提供的新特性,继承自ViewGroup,专门用以实现左右滑动切换View的效果. 如果想向下兼容就必须要android-support-v ...

  9. Android学习之ViewPager

     1.定义 ViewPager是android扩展包v4包中的类,这个类可以让用户左右切换当前的view.其中,android.support.v4是谷歌公司为了解决当前版本碎片化的问题,从而提供的一 ...

随机推荐

  1. QT国际化 一 (lupdate/linguits/lrelease)

    QT国际化(lupdate/linguits/lrelease) 本文由乌合之众瞎写http://www.cnblogs.com/oloroso/ qt国际化其实就是qt中字符串的字符集编码的设置.当 ...

  2. Apache Thrift 服务开发框架学习记录

    Apache Thrift 是 Facebook 实现的一种高效的.支持多种编程语言的远程服务调用的框架. 前言: 目前流行的服务调用方式有很多种,例如基于 SOAP 消息格式的 Web Servic ...

  3. Laplacian matrix 从拉普拉斯矩阵到谱聚类

    谱聚类步骤 第一步:数据准备,生成图的邻接矩阵: 第二步:归一化普拉斯矩阵: 第三步:生成最小的k个特征值和对应的特征向量: 第四步:将特征向量kmeans聚类(少量的特征向量):

  4. python gui之tkinter事件处理

    事件一览表 事件 代码 备注 鼠标左键单击按下 1/Button-1/ButtonPress-1   鼠标左键单击松开 ButtonRelease-1   鼠标右键单击 3   鼠标左键双击 Doub ...

  5. Maven打包附加配置文件

    在build节点下增加resources. <build> <!-- 资源 --> <resources> <!-- 复制非class文件 --> &l ...

  6. 【MySQL】MySQL server has gone away 怎么处理?

    直接上代码: from django.db import connection ... def is_connection_usable(): try: connection.connection.p ...

  7. UNIX进程

    UNIX进程控制的博客   http://blog.csdn.net/yang_yulei/article/details/17404021 Linux的概念与体系    http://www.cnb ...

  8. 【leetcode】N-Queens

    N-Queens The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no tw ...

  9. dump、cpio、tar、dd四种备份工具比较

    原文  http://blog.csdn.net/ether_lai/article/details/12656219 dump dump可执行文件系统增量备份的存储操作 ,dump 可将目录或整个文 ...

  10. Word转图片(使用Spire.doc)

    Spire.Doc for .NET是一款由E-iceblue公司开发的专业的Word .NET类库.支持.net,WPF,Silverlight, 下载地址:http://www.e-iceblue ...