设为首页 加入收藏

TOP

一起学Android之ViewPager(一)
2019-09-01 23:25:43 】 浏览:68
Tags:一起 Android ViewPager

本文以一个简单的小例子,简述在Android开发中ViewPager的常见用法,仅供学习分享使用。

概述

ViewPager是一个支持使用者左右滑动的布局管理控件,可以通过一个实现的(适配器)PageAdapter来进行数据和页面的传递。ViewPager更多时候会和Fragment一起使用,方便管理各个页面的生命周期。

涉及知识点

  • ViewPager并非是原生的UI控件,所以使用的时候需要包含全部的包名(android.support.v4.view.ViewPager)。
  • PagerAdapter 是一个抽象基类,开发时需要实现类中的抽象方法。用于将数据在ViewPager中展示出来。
  • PagerAdapter的抽象方法需要实现以下几个:
    • getCount() 用于获取需要展示的子视图的数量
    • isViewFromObject(View view, Object object) 子视图是否需要重新加载,如果已经加载过,则不需要重新加载。
    • destroyItem(ViewGroup container, int position, Object object) 删除子视图
    • instantiateItem(ViewGroup container, int position) 生成对应位置的子视图
  • addOnPageChangeListener 对ViewPager增加监听事件
  • SimpleOnPageChangeListener 是实现OnPageChangeListener接口的类,需要实现onPageSelected(int position)方法即可。
  • ImageView 图片视图,用于显示图片,本例中主要用于ViewPager中的指示器。
  • FragmentPagerAdapter 用于显示Fragment的适配器。
  • FragmentManager 一个用于管理Fragmetn的抽象类,是FragmentPagerAdapter构造函数中的一个参数。

示例截图

图片轮播如下所示:

示例源码

xml布局代码

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <RelativeLayout
 3     xmlns:android="http://schemas.android.com/apk/res/android"
 4     xmlns:tools="http://schemas.android.com/tools"
 5     android:layout_width="match_parent"
 6     android:layout_height="match_parent"
 7     tools:context="com.hex.demoviewpager.MainActivity">
 8     <android.support.v4.view.ViewPager
 9         android:id="@+id/vp_info"
10         android:scrollIndicators="bottom"
11         android:layout_width="match_parent"
12         android:layout_height="match_parent">
13     </android.support.v4.view.ViewPager>
14     <TextView
15         android:id="@+id/tv_title"
16         android:layout_alignBottom="@id/vp_info"
17         android:layout_centerHorizontal="true"
18         android:textSize="20dp"
19         android:text="aaaa"
20         android:layout_marginBottom="30dp"
21         android:layout_width="wrap_content"
22         android:layout_height="wrap_content"/>
23     <LinearLayout
24         android:id="@+id/ll_Indicator"
25         android:layout_alignBottom="@id/vp_info"
26         android:layout_centerHorizontal="true"
27         android:gravity="center"
28         android:orientation="horizontal"
29         android:layout_width="200dp"
30         android:layout_height="wrap_content">
31 
32     </LinearLayout>
33     <Button
34         android:id="@+id/bn_go"
35         android:text="@string/go"
36         android:layout_alignParentTop="true"
37         android:layout_width="wrap_content"
38         android:layout_height="wrap_content"/>
39 </RelativeLayout>
View Code

Java代码(图片轮播)

  1 package com.hex.demoviewpager;
  2 
  3 import android.content.Intent;
  4 import android.support.v4.view.PagerAdapter;
  5 import android.support.v4.view.ViewPager;
  6 import android.support.v7.app.ActionBar;
  7 import android.support.v7.app.AppCompatActivity;
  8 import android.os.Bundle;
  9 import android.util.Log;
 10 import android.view.View;
 11 import android.view.ViewGroup;
 12 import android.widget.Button;
 13 import android.widget.ImageView;
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Android AutoCompleteTextView和M.. 下一篇Android项目实战欢迎界面

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目