ViewPager的简单应用

本文介绍如何在Android应用中使用ViewPager控件实现多页面的切换效果,并通过示例展示了主布局文件和主窗口代码的实现过程。通过创建一个包含多个页面的适配器,实现了动态加载和展示不同页面的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

出处

说明:

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

主布局文件

main.xml

01<?xml version="1.0" encoding="utf-8"?>
02<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
03    android:layout_width="fill_parent"
04    android:layout_height="fill_parent"
05    android:orientation="vertical" >
06  
07    <android.support.v4.view.ViewPager
08        android:id="@+id/viewpager"
09        android:layout_width="wrap_content"
10        android:layout_height="wrap_content"
11        android:layout_gravity="center" >
12  
13        <android.support.v4.view.PagerTitleStrip
14            android:id="@+id/pagertitle"
15            android:layout_width="wrap_content"
16            android:layout_height="wrap_content"
17            android:layout_gravity="top" />
18    </android.support.v4.view.ViewPager>
19  
20</LinearLayout>
其中ViewPager为多页显示控件,PagerTitleStrip用于显示当前页面的标题

主窗口代码:

PagerTitleDemoActivity.java

01package com.ns.pager;
02  
03import java.util.ArrayList;
04  
05import android.app.Activity;
06import android.os.Bundle;
07import android.support.v4.view.PagerAdapter;
08import android.support.v4.view.PagerTitleStrip;
09import android.support.v4.view.ViewPager;
10import android.view.LayoutInflater;
11import android.view.View;
12  
13public class PagerTitleDemoActivity extends Activity {
14    /** Called when the activity is first created. */
15    private ViewPager mViewPager;
16    private PagerTitleStrip mPagerTitleStrip;
17    @Override
18    public void onCreate(Bundle savedInstanceState) {
19        super.onCreate(savedInstanceState);
20        setContentView(R.layout.main);
21        mViewPager = (ViewPager)findViewById(R.id.viewpager);
22        mPagerTitleStrip = (PagerTitleStrip)findViewById(R.id.pagertitle);
23          
24        //将要分页显示的View装入数组中
25        LayoutInflater mLi = LayoutInflater.from(this);
26        View view1 = mLi.inflate(R.layout.view1, null);
27        View view2 = mLi.inflate(R.layout.view2, null);
28        View view3 = mLi.inflate(R.layout.view3, null);
29          
30        //每个页面的Title数据
31        final ArrayList<View> views = new ArrayList<View>();
32        views.add(view1);
33        views.add(view2);
34        views.add(view3);
35          
36        final ArrayList<String> titles = new ArrayList<String>();
37        titles.add("tab1");
38        titles.add("tab2");
39        titles.add("tab3");
40          
41        //填充ViewPager的数据适配器
42        PagerAdapter mPagerAdapter = new PagerAdapter() {
43              
44            @Override
45            public boolean isViewFromObject(View arg0, Object arg1) {
46                return arg0 == arg1;
47            }
48              
49            @Override
50            public int getCount() {
51                return views.size();
52            }
53  
54            @Override
55            public void destroyItem(View container, int position, Object object) {
56                ((ViewPager)container).removeView(views.get(position));
57            }
58  
59            @Override
60            public CharSequence getPageTitle(int position) {
61                return titles.get(position);
62            }
63  
64            @Override
65            public Object instantiateItem(View container, int position) {
66                ((ViewPager)container).addView(views.get(position));
67                return views.get(position);
68            }
69        };
70          
71        mViewPager.setAdapter(mPagerAdapter);
72    }
73}
Android的 ViewPager 学习笔记
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值