Android中实现可滑动的Tab的3种方式

2019-12-10 20:11:09王旭
易采站长站为您分析Android中实现可滑动的Tab的3种方式,需要的朋友可以参考下    

1. 第一种,使用 TabHost + ViewPager 实现
该方法会有一个Bug,当设置tabHost.setCurrentTab()为0时,ViewPager不显示(准确的说是加载),只有点击其他任意一个tab后才会加载。

有解的同学吼一声~~~~~~~

Android中实现可滑动的Tab的3种方式

Activity:

复制代码
package com.swordy.demo.android.fragment;

 

import java.util.Random;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.TabHost;
import android.widget.TabHost.OnTabChangeListener;
import android.widget.TabWidget;
import android.widget.TextView;

import com.swordy.demo.android.R;
import com.swordy.library.android.util.ELog;

/**
 * 1. 使用TabHost和ViewPager组合实现一个可以滑动的tab
 * 2. bug:如果当前页为0,则ViewPager第一次不加载。
 * 
 * @author swordy
 * @email mryangjian@live.com
 * @since Jan 20, 2014
 * @version 1.0
 */
public class SlideTabs1 extends FragmentActivity
{
    private static final String TAG = "AndroidDemos.SlideTabs1";

    private TabHost mTabHost;

    private ViewPager mViewPager;

    private PagerAdapter mPagerAdapter;

    private String[] addresses = { "first", "second", "third" };