TabLayout+ViewPager的简单使用

1、   build.gradle文件中加入

compile ‘com.android.support:design:22.2.0‘

2、写Xml文件,注意TabLayout的三个属性

app:tabIndicatorColor="#0f0"                每个tab下方的下划线的颜色   
app:tabSelectedTextColor="#00f"             被选中的tab的文本颜色
app:tabTextColor="#f00"                     未被选中的tab的文本颜色

布局文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <android.support.design.widget.TabLayout
        android:id="@+id/tablayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#777"
        app:tabIndicatorColor="#0f0"
        app:tabSelectedTextColor="#00f"
        app:tabTextColor="#f00"
        />

    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#cccc"
        />

</LinearLayout>

activity_main.xml

 1 package com.xqx.com.tablayoutdemo;
 2
 3 import android.support.design.widget.TabLayout;
 4
 5 import android.support.v4.app.Fragment;
 6 import android.support.v4.app.FragmentActivity;
 7 import android.support.v4.view.ViewPager;
 8 import android.os.Bundle;
 9
10 import java.util.ArrayList;
11 import java.util.List;
12
13 public class MainActivity extends FragmentActivity {
14
15     private TabLayout tabLayout;
16     private ViewPager viewPager;
17
18     //四个fragment
19     private OneFragment oneFragment;
20     private TwoFragment twoFragment;
21     private ThreeFragment threeFragment;
22     private FourFragment fourFragment;
23
24     //适配器
25     private MyAdapter adapter;
26
27     private List<Fragment> fragments;           //fragment集合
28     private List<String> titles;                //tab标题集合
29     @Override
30     protected void onCreate(Bundle savedInstanceState) {
31         super.onCreate(savedInstanceState);
32         setContentView(R.layout.activity_main);
33
34         tabLayout = (TabLayout) findViewById(R.id.tablayout);
35         viewPager = (ViewPager) findViewById(R.id.viewpager);
36
37         //创建四个Fragment对象
38         oneFragment = new OneFragment();
39         twoFragment = new TwoFragment();
40         threeFragment = new ThreeFragment();
41         fourFragment = new FourFragment();
42
43         //将四个Fragment对象添加到集合中
44         fragments = new ArrayList<>();
45         fragments.add(oneFragment);
46         fragments.add(twoFragment);
47         fragments.add(threeFragment);
48         fragments.add(fourFragment);
49
50         //给Tab添加标题
51         titles = new ArrayList<>();
52         titles.add("one");
53         titles.add("two");
54         titles.add("three");
55         titles.add("four");
56
57         //创建适配器
58         adapter = new MyAdapter(getSupportFragmentManager(),fragments,titles);
59         //viewpager绑定适配器
60         viewPager.setAdapter(adapter);
61         //tabLayout绑定viewpager
62         tabLayout.setupWithViewPager(viewPager);
63
64     }
65
66 }
67
68 MainActivity.java

mainactivity

时间: 2024-11-03 19:15:47

TabLayout+ViewPager的简单使用的相关文章

关于TabLayout+ViewPager组合实现多页面滑动

转载请注明出处:http://blog.csdn.net/ht_android/article/details/46647711 在android提供的design library中新增了一个控件,叫TabLayout,它继承自HorizontalScrollView,可以实现android中多页面滑动切换效果.但是一般需要和ViewPager组合使用,官方API地址:https://developer.android.com/reference/android/support/design/w

Android开发之漫漫长途 Fragment番外篇——TabLayout+ViewPager+Fragment

该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解Android 卷Ⅰ,Ⅱ,Ⅲ>中的相关知识,另外也借鉴了其他的优质博客,在此向各位大神表示感谢,膜拜!!! 前言 上一篇文章中我们使用底部导航+Fragment的方式实现了Android主流App中大都存在的设计.并命名其为"Fragment最佳实践",作为想到单独使用Fragment的用

ViewPager的简单用法+适配器+监听器的介绍

之前的actionbar+fragment文章中写过viewpager的简单用法,但因为是融合的文章,所以今天把viewpager提取出来写了.方便查询浏览~ 思路: 1.在布局文件中设置viewpager控件 2.在acitvity中找到它 3.自定义一个适配器,这个适配器需要一个list<View>来构造 4.定义一个list<View>来放入几个view,并用其来初始化适配器 5.给viewPager来设置适配器和监听器 实现: 1.布局文件,这里放一个指示文字.实际中可以用

使用FragmentTabHost+TabLayout+ViewPager实现双层嵌套Tab

大多数应用程序都会在底部使用3~5个Tab对应用程序的主要功能进行划分,对于一些信息量非常大的应用程序,还需要在每个Tab下继续划分子Tab对信息进行分类显示. 本文实现采用FragmentTabHost+TabLayout+ViewPager实现双层嵌套Tab,实现原理如下: 第一层Tab:FragmentTabHost + Fragment; 第二层Tab:在第一层的Fragment中使用TabLayout和ViewPager实现. 第一层Tab实现: 1.布局文件activity_main

TabLayout+ViewPager 标题不显示问题

第一次用TabLayout+ViewPager 组合在布局中写好了三个标题预览没问题而且也设置了 app:tabIndicatorColor="@color/colorAccent" app:tabSelectedTextColor="@color/colorAccent"app:tabTextColor="@color/button_nav_font_default"三个属性都设置,当运行在手机上的时候显示空白刚开始以为是手机问题(华为)换了小

Android 导航条效果实现(六) TabLayout+ViewPager+Fragment

TabLayout 一.继承结构 public class TabLayout extends HorizontalScrollView java.lang.Object ? android.view.View ? android.view.ViewGroup ? android.widget.FrameLayout ? android.widget.HorizontalScrollView ? android.support.design.widget.TabLayout 二.TabLayou

cathome 猫家 开发日记-tablayout+viewpager+fragment

概述 1.tablayout.纯粹就是一个滑动菜单,只是多加一个事件,触发viewpager的滑动. 2.viewpage,是主角,一般是设定  adapter,在 adapter中,决定如何显示view,以及显示多少个view. 这里系统已经封装了一个adapter叫 fragmentadapter.转为针对view里面放fragment  的.并且主要方法为 public Fragment getItem(int i) 所以建立多个fragment  .并传递给adapter. 就可以.主体

关于tablayout+viewpager+fragment配合使用的一点记录

最近在写项目的时候遇到要求使用tablayout和fragment,遇到了这里记录一下大致思路. tablayout是头部可以左右切换的头部控制栏控件,配合viewpager使用,fragment是碎片,可以放在viewpager里面,实现类似网易云音乐首页切换的效果.效果图如下: 首先添在build.gradle里面添加依赖: 1 implementation 'com.android.support:support-v4:28.0.0' 2 implementation 'com.andro

TabLayout+ViewPager+Fragment 快速实现标题切换效果

首先呢,这个控件使用起来并不难,算是非常简单的了,不过这个 TabLayout 的 setupWithViewPager 方法有坑,要注意了,具体什么坑,自己踩过才有映像,我这里就不说了,就介绍一下如何使用吧. 在 FragmentOne 中的布局文件里面添加一个 ViewPager 和一个 TabLayout,代码如下: <?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:and