69、ViewPagerIndicator+ViewPager实现Tab

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#C5DAED"
    android:orientation="vertical" >
    <include layout="@layout/top" />

    <com.viewpagerindicator.TabPageIndicator
        android:id="@+id/id_indicator"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/transparent" />

    <android.support.v4.view.ViewPager
        android:id="@+id/id_viewpager"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />
</LinearLayout>
 1 package com.imooc.tab04;
 2
 3 import android.os.Bundle;
 4 import android.support.v4.app.FragmentActivity;
 5 import android.support.v4.view.ViewPager;
 6 import android.view.Window;
 7
 8 import com.viewpagerindicator.TabPageIndicator;
 9
10 public class MainActivity extends FragmentActivity {
11     private ViewPager mViewPager;
12     private TabPageIndicator mTabPageIndicator;
13     private TabAdapter mAdapter;
14
15     @Override
16     protected void onCreate(Bundle savedInstanceState) {
17         super.onCreate(savedInstanceState);
18         requestWindowFeature(Window.FEATURE_NO_TITLE);
19         setContentView(R.layout.activity_main);
20
21         initView();
22     }
23
24     private void initView() {
25         mViewPager = (ViewPager) findViewById(R.id.id_viewpager);
26         mTabPageIndicator = (TabPageIndicator) findViewById(R.id.id_indicator);
27         mAdapter = new TabAdapter(getSupportFragmentManager());
28         mViewPager.setAdapter(mAdapter);
29
30         mTabPageIndicator.setViewPager(mViewPager, 0);
31     }
32
33 }
 3 import android.support.v4.app.Fragment;
 4 import android.support.v4.app.FragmentManager;
 5 import android.support.v4.app.FragmentPagerAdapter;
 6
 7 public class TabAdapter extends FragmentPagerAdapter {
 9     public static String[] TITLES = new String[] { "课程", "问答", "求课", "学习", "计划" };
10
11     public TabAdapter(FragmentManager fm) {
12         super(fm);
13     }
15     @Override
16     public Fragment getItem(int arg0) {
17         TabFragment fragment = new TabFragment(arg0);
18         return fragment;
19     }
21     @Override
22     public int getCount() {
23         return TITLES.length;
24     }
26     @Override
27     public CharSequence getPageTitle(int position) {
28         return TITLES[position];
29     }
31 }
package com.imooc.tab04;

import android.annotation.SuppressLint;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

@SuppressLint("ValidFragment")
public class TabFragment extends Fragment {
    private int pos;

    @SuppressLint("ValidFragment")
    public TabFragment(int pos) {
        this.pos = pos;
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.frag, container, false);
        TextView tv = (TextView) view.findViewById(R.id.id_tv);
        tv.setText(TabAdapter.TITLES[pos]);
        return view;
    }
}

DEMO:http://download.csdn.net/detail/androidsj/9354439

时间: 2024-08-10 17:02:44

69、ViewPagerIndicator+ViewPager实现Tab的相关文章

使用ViewPager实现Tab

一.效果演示及分析 我们直接看两幅图.如下:                   上两幅图实现的效果就是: (1)手指左右滑动时,中间的布局呈现不同的效果.而且下面的按钮也会做相应的改变. (2)我们也可以不左右滑动,直接点击下面的按钮来改变中间的布局. 这就是android开发中经常要用到的Tab效果,可以最大限度的使用屏幕资源.中间的View可以显示复杂又不同的界面效果.这里为了学习上的简洁,我每一个界面都只是实现了一个TextView效果而已,但这足以将利用ViewPager实现Tab的原

Android开源框架ViewPageIndicator和ViewPager实现Tab导航

前言: 关于使用ViewPageIndicator和ViewPager实现Tab导航,在开发社区里已经有一堆的博客对其进行了介绍,假设我还在这里写怎样去实现.那简直就是老生常谈,毫无新奇感,并且.我也不觉得自己对ViewPageIndicator的理解会比别人好,毕竟我也是看着大神的帖子.在学习实践着. 那我还写这个有啥意义呢?事实上么,就是想在这里记录下.在使用ViewPageIndicator和ViewPager实现Tab导航时,大家有可能会遇到的坑.这个坑.须要我们开发时尽量去避免的. 啥

66、多种多样的App主界面Tab(1)------ ViewPager实现Tab

1 <?xml version="1.0" encoding="utf-8"?> 2 <!-- bottom.xml --> 3 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 4 android:layout_width="match_parent" 5 android:layout_height=

FragmentPagerAdapter+ViewPager实现Tab切换效果

1.Activity  加载布局文件,获取Viewpager控件   给ViewPager填充适配器. import android.app.ActionBar; import android.app.ActionBar.Tab; import android.app.Activity; import android.app.Fragment; import android.app.FragmentTransaction; import android.content.Context; impo

ViewPager与Tab结合使用

我们有时候需要 标题页卡与ViewPager结合使用,其实原理也很简单. 不过工程中要引入android-support-design.jar 首先是布局文件 <android.support.design.widget.TabLayout android:id="@+id/tabs" android:background="@color/search_bg_top" android:layout_width="match_parent"

使用ViewPager和FragmentPagerAdapter实现Tab

前面我们分别利用ViewPager和Fragment实现了Tab效果.但是使用Fragment实现的Tab不能够左右滑动.如果我们既想使用Fragment又想让Tab能够滑动,那么怎么办呢?这 就是今天的方法,利用ViewPager和FragmentPagerAdapter来实现Tab. 没看过前两篇文章的读者可以点击下面的地址: http://www.cnblogs.com/fuly550871915/p/4850056.html 废话不多说了,效果还是之前的效果.由于有些代码我们已经写过了.

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

action来实现tab标签 并跟fragment结合 因为要写新闻客户端这个tab导航是必须的 这里我写几个小练习,希望大家融会贯通. 1actionbar设置tab +fragment 布局是个layout 什么layout都可以 加个Id 叫container package com.example.demoforactionbar; import android.app.ActionBar; import android.app.Activity; import android.app.

低版本系统兼容的ActionBar(六)用Fragment+ViewPager+Tab实现快速导航

Tab经常和Fragment结合使用,这一讲我们用3种方式来实现这种快捷导航. 0.重要的两个监听器 MyTabListener,这个我们之前已经接触过了 package com.kale.actionbar05; import android.support.v4.app.FragmentTransaction; import android.support.v4.view.ViewPager; import android.support.v7.app.ActionBar; import a

Android两种为ViewPager+Fragment添加Tab的方式

在Android开发中ViewPager的使用是非常广泛的,而它不仅仅能够实现简单的开始引导页,还可以结合Fragment并添加Tab作为选项卡或为显示大批量页面实现强大的顺畅滑动 下面介绍两种为ViewPager+Fragment添加Tab的方式: 第一种: 在MainActivity布局中定义一个ViewPager 在MainActivity中声明ViewPager并实现它的Adapter继承自FragmentPagerAdapter 首先需要通过重写有参的构造方法来获取FragmentMa