手机
当前位置:查字典教程网 >编程开发 >安卓软件开发 >Android ViewPager实现选项卡切换
Android ViewPager实现选项卡切换
摘要:本文实例介绍了ViewPager实现选项卡切换,效果图如下:步骤一:这里使用兼容低版本的v4包进行布局,这里eclipse没有输入提示,所以...

本文实例介绍了ViewPager实现选项卡切换,效果图如下:

Android ViewPager实现选项卡切换1

步骤一:这里使用兼容低版本的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实现选项卡切换】相关文章:

Android Handler主线程和一般线程通信的应用分析

android IntentService实现原理及内部代码分享

android 分辨率适配的方法

使用ViewPager实现高仿launcher左右拖动效果

Android HTTP 实现与服务器通信

Android UI开发 View自绘控件 分享

android WebView加载html5介绍

Android实现语音识别代码

android ListView和GridView拖拽移位实现代码

Android 九宫格的实现方法

精品推荐
分类导航