ViewPager实现选项卡切换,效果图如下:

步骤一:这里使用兼容低版本的v4包进行布局,这里eclipse没有输入提示,所以要手动输入,文件名称“activity_main.xml”

 <RelativeLayout 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"
tools:context=".MainActivity" > <android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_height="wrap_content"
android:layout_width="wrap_content" >
<android.support.v4.view.PagerTabStrip
android:id="@+id/tabstrip"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
/> </android.support.v4.view.ViewPager>
</RelativeLayout>

步骤二:选项卡中的内容都是从布局文件中获取,所以我新建两个测试布局“layout1.xml”和“layout2.xml”,里面内容随意。

步骤三:布局已经完成,在MainActivity.java类中,实现关键功能。

首先要声明ViewPager和PagerTabStrip对象,通过findViewById分别找到资源id,声明ArrayList<View>来存放测试布局文件,核心代码如下:

 package com.example.viewpager;

 import java.util.ArrayList;

 import android.os.Bundle;
import android.app.Activity;
import android.graphics.Color;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.PagerTabStrip;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast; public class MainActivity extends Activity implements OnPageChangeListener { private ViewPager viewpager;
private PagerTabStrip tabstrip;
private String[] title={"首页","新闻","公告","图片"};
private ArrayList<View> views=new ArrayList<View>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewpager=(ViewPager) findViewById(R.id.viewpager);
tabstrip=(PagerTabStrip) findViewById(R.id.tabstrip);
initial();
viewpager.setAdapter(new MyPagerAdapter());
} public void initial(){
views.add(getLayoutInflater().inflate(R.layout.layout1,null));
views.add(getLayoutInflater().inflate(R.layout.layout2,null));
views.add(getLayoutInflater().inflate(R.layout.layout1,null));
views.add(getLayoutInflater().inflate(R.layout.layout2,null)); tabstrip.setBackgroundColor(getResources().getColor(android.R.color.holo_blue_light));
tabstrip.setTabIndicatorColor(getResources().getColor(android.R.color.holo_blue_bright));
tabstrip.setTextColor(Color.WHITE);
viewpager.setOnPageChangeListener(this);
}
class MyPagerAdapter extends PagerAdapter{ @Override
public int getCount() {
// TODO 自动生成的方法存根
return views.size();
} @Override
public Object instantiateItem(ViewGroup container, int position) {
View v=views.get(position);
container.addView(v);
return v;
} @Override
public void destroyItem(ViewGroup container, int position, Object object) {
// TODO 自动生成的方法存根
//super.destroyItem(container, position, object);
container.removeView(views.get(position));
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
// TODO 自动生成的方法存根
return arg0==arg1;
}
@Override
public CharSequence getPageTitle(int position) {
// TODO 自动生成的方法存根
return title[position];
} }
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO 自动生成的方法存根 } @Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO 自动生成的方法存根 } @Override
public void onPageSelected(int arg0) {
// TODO 自动生成的方法存根
//Toast.makeText(MainActivity.this,"新年快乐",Toast.LENGTH_SHORT).show();
} }

年后继续更新,祝大家新年快乐。

Android ViewPager实现选项卡切换的更多相关文章

  1. android viewpager fragment 优化 切换界面 延时加载

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 使用 碎片的 设置用户可见暗示visible hint  这个方法来做到. hint 是 ...

  2. 使用ViewPager+Fragment实现选项卡切换效果

    实现效果 本实例主要实现用ViewPage和Fragment实现选项卡切换效果,选项卡个数为3个,点击选项卡或滑动屏幕会切换Fragment并实现选项卡下方下边框条跟随移动效果. 本程序用androi ...

  3. Android ViewPager实现Tabhost选项卡底部滑块动态滑动过渡

     <Android ViewPager实现Tabhost选项卡底部滑块动态滑动过渡> 之前基于github上的第三方开源控件ViewPagerIndicator的UnderlinePa ...

  4. Android -- ViewPager切换动画,PageTransformer

    transformPage(View view, float position) view就是滑动中的那个view,position这里是float类型,是当前滑动状态的一个表示,比如当滑动到正全屏时 ...

  5. Android ViewPager + Fragment的布局

    ViewPager And Fragment 1.之前有篇博客是讲ViewPager的用法的:http://www.cnblogs.com/liangstudyhome/p/3773156.html ...

  6. Android ViewPager 用法

    Android ViewPager 用法 场景:一般第一次打开应用程序时,程序会有一个提示页来给展现应用程序都有哪些功能:或者程序更新时,又更新哪些新特性,都可以使用ViewPager Demo 描述 ...

  7. Android ViewPager 打造炫酷欢迎页

    Android ViewPager 打造炫酷欢迎页 ViewPager是Android扩展v4包中的类,这个类可以让用户切换当前的View.对于这个类的应用场景,稍加修改就可以应用到多个环境下.比如: ...

  8. 自定义viewpager的界面切换动画

    核心操作: 1.创建一个类实现 android.support.v4.view.ViewPager.PageTransformer 根据 position 实现判断哪个界面进行界面切换动画 publi ...

  9. xamarin android viewpager的用法

    1.什么是ViewPager 通过手势滑动可以完成view的切换,一般是用来app的引导页或则实现图片轮播,类似网页上的banner轮播. Adnroid 3.0后引入的一个UI控件,在xamarin ...

随机推荐

  1. ArcGIS Server GP服务发布与测试(基础版)

    版本:ArcGIS Server 10.4    环境:win10 测试目标:创建一个GP服务,功能为根据要素属性信息(如FID)选择出输入内容的对应匹配要素. 注:这个测试非常基础,仅供新手发布GP ...

  2. phpcms v9 的表单向导功能的使用方法

    本文主要介绍phpcms v9的表单向导功能是如何使用的,并副多个案例讲解: 先介绍一下v9 的表单向导如何使用 表单向导做的很实用,生成一个表单,常用的是把它作为一个留言板,或者在招聘栏目作为一个供 ...

  3. UINavigationBar 总结

    一.某个 ViewController 出现隐藏 NavigationBar - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear ...

  4. Oracle SQL基本操作

    Oracle数据库基本操作 1.概述 Oracle数据库客户端一般需要安装在服务器上,可以在服务器端操作,一般我们可以用sql developer工具远程连接到数据库,先行建立数据库,然后对表进行增删 ...

  5. vi基本命令

    http://www.cnblogs.com/younggun/p/3190820.html 要记得经常练习

  6. ELK+kafka构建日志收集系统

    ELK+kafka构建日志收集系统   原文  http://lx.wxqrcode.com/index.php/post/101.html   背景: 最近线上上了ELK,但是只用了一台Redis在 ...

  7. StringByAppendingPathComponent和stringByAppendingString的区别

    cyy:自我理解,不保证正确,但亲自试验确实可行:若用 stringByAppendingString  则需要手动在名称前加 “/”符号,而stringByAppendingPathComponen ...

  8. eclipse +VISUALSVN SERVER 创建版本控制器,防止误操作(可视化操作,简单方便,不需要修改配置文件)

    第一步:为eclipse安装Subclipse插件 打开eclipse,点击help-->Install New Software...弹出对话框,点击Add..(新增),以http://sub ...

  9. 关于SQL Server无法查询中文的问题

    SQL Server 的版本是2016,随便试了一条 带有 where 子句的查询.如下: select * from Roles where RoleName like '%系统%' 呐尼,怎么一条 ...

  10. 复制 replication 新增表 add new article

    immediate_sync   false   Synchronization files are created only if there are new subscriptions. Subs ...