展会信息港展会大全

Android的 ViewPager 简单运用
来源:互联网   发布日期:2015-10-02 16:50:26   浏览:1729次  

导读:说明:ViewPager用于实现多页面的切换效果,该类存在于Google的兼容包里面,所以在引用时记得在BuilldPath中加入android-support-v4.jar主布局文件main.xml?xml version=1.0 encoding=utf-8?LinearLayo......

说明:

ViewPager用于实现多页面的切换效果,该类存在于Google的兼容包里面,所以在引用时记得在BuilldPath中加入 android-support-v4.jar

主布局文件

main.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

<android.support.v4.view.ViewPager

android:id="@+id/viewpager"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center" >

<android.support.v4.view.PagerTitleStrip

android:id="@+id/pagertitle"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="top" />

</android.support.v4.view.ViewPager>

</LinearLayout>

其中ViewPager为多页显示控件,PagerTitleStrip用于显示当前页面的标题

主窗口代码:

PagerTitleDemoActivity.java

package com.ns.pager;

import java.util.ArrayList;

import android.app.Activity;

import android.os.Bundle;

import android.support.v4.view.PagerAdapter;

import android.support.v4.view.PagerTitleStrip;

import android.support.v4.view.ViewPager;

import android.view.LayoutInflater;

import android.view.View;

public class PagerTitleDemoActivity extends Activity {

/** Called when the activity is first created. */

private ViewPager mViewPager;

private PagerTitleStrip mPagerTitleStrip;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

mViewPager = (ViewPager)findViewById(R.id.viewpager);

mPagerTitleStrip = (PagerTitleStrip)findViewById(R.id.pagertitle);

//将要分页显示的View装入数组中

LayoutInflater mLi = LayoutInflater.from(this);

View view1 = mLi.inflate(R.layout.view1, null);

View view2 = mLi.inflate(R.layout.view2, null);

View view3 = mLi.inflate(R.layout.view3, null);

//每个页面的Title数据

final ArrayList<View> views = new ArrayList<View>();

views.add(view1);

views.add(view2);

views.add(view3);

final ArrayList<String> titles = new ArrayList<String>();

titles.add("tab1");

titles.add("tab2");

titles.add("tab3");

//填充ViewPager的数据适配器

PagerAdapter mPagerAdapter = new PagerAdapter() {

@Override

public boolean isViewFromObject(View arg0, Object arg1) {

return arg0 == arg1;

}

@Override

public int getCount() {

return views.size();

}

@Override

public void destroyItem(View container, int position, Object object) {

((ViewPager)container).removeView(views.get(position));

}

@Override

public CharSequence getPageTitle(int position) {

return titles.get(position);

}

@Override

public Object instantiateItem(View container, int position) {

((ViewPager)container).addView(views.get(position));

return views.get(position);

}

};

mViewPager.setAdapter(mPagerAdapter);

}

}

赞助本站

人工智能实验室

相关热词: ViewPager

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港