Android-ViewPager使用示例(二)

来源:互联网 发布:有什么好用的水乳 知乎 编辑:程序博客网 时间:2024/06/01 09:29

根据上一篇Android-ViewPager使用示例
本篇介绍导航点

工程目录结构
这里写图片描述

核心代码段:
Guide.java

package com.example.viewpager;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.support.v4.view.ViewPager;import android.support.v4.view.ViewPager.OnPageChangeListener;import android.view.LayoutInflater;import android.view.View;import android.widget.ImageView;public class Guide extends Activity implements OnPageChangeListener {    ViewPager mViewPager;    ViewPagerAdapter mViewPagerAdapter;    List<View> views;    // 找到三个ImageView    private ImageView[] mDots;    // 找到三个ID    private int ids[] = { R.id.d1, R.id.d2, R.id.d3 };    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.guide);        initViews();        initDots();    }    void initViews() {        LayoutInflater inflater = LayoutInflater.from(this);        views = new ArrayList<View>();        views.add(inflater.inflate(R.layout.one_layout, null));        views.add(inflater.inflate(R.layout.two_layout, null));        views.add(inflater.inflate(R.layout.three_layout, null));        mViewPagerAdapter = new ViewPagerAdapter(views, this);        // 实现mViewPager        mViewPager = (ViewPager) findViewById(R.id.viewPager);        mViewPager.setAdapter(mViewPagerAdapter);        // 监听翻页        mViewPager.setOnPageChangeListener(this);    }    private void initDots() {        mDots = new ImageView[views.size()];        for (int i = 0; i < views.size(); i++) {            mDots[i] = (ImageView) findViewById(ids[i]);        }    }    @Override    public void onPageScrollStateChanged(int arg0) {        // 当滑动状态改变时调用    }    @Override    public void onPageScrolled(int arg0, float arg1, int arg2) {        // 当页面被滑动时调用    }    @Override    public void onPageSelected(int arg0) {        // 当前新的页面被选中时调用        for (int i = 0; i < ids.length; i++) {            if(arg0 == i){                mDots[i].setImageResource(R.drawable.page_indicator_pressed);            }else{                mDots[i].setImageResource(R.drawable.page_indicator_normal);            }        }    }}

guide.xml

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent" >    <android.support.v4.view.ViewPager        android:id="@+id/viewPager"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:background="#90EE90" >    </android.support.v4.view.ViewPager>    <LinearLayout        android:id="@+id/ll"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_alignParentBottom="true"        android:gravity="center_horizontal"        android:orientation="horizontal" >        <ImageView            android:id="@+id/d1"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:src="@drawable/page_indicator_normal" />        <ImageView            android:id="@+id/d2"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:src="@drawable/page_indicator_normal" />        <ImageView            android:id="@+id/d3"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:src="@drawable/page_indicator_pressed" />    </LinearLayout></RelativeLayout>

注意1:监听OnPageChangeListener
注意2:注意png图片不能太大
其他部分代码请参考‘Android-ViewPager使用示例’

效果图:
第一页
这里写图片描述
第二页
这里写图片描述

需要原码请留言,看到速回

0 0