ViewPager的使用2

来源:互联网 发布:小小食杂铺 知乎 编辑:程序博客网 时间:2024/06/05 07:41

1.布局文件

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    android:weightSum="4"    app:layout_behavior="@string/appbar_scrolling_view_behavior"    tools:context="com.gst.user.application.TempActivity"    tools:showIn="@layout/activity_temp">    <LinearLayout        android:layout_width="match_parent"        android:layout_height="0dp"        android:layout_gravity="center_horizontal"        android:layout_weight="3.30"        android:orientation="horizontal">        <android.support.v4.view.ViewPager            android:id="@+id/viewPager"            android:layout_width="match_parent"            android:layout_height="match_parent"            android:paddingBottom="100dp">        </android.support.v4.view.ViewPager>    </LinearLayout>    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:background="#220000ff"        android:gravity="center"        android:orientation="horizontal"        android:layout_weight="0.09">        <ImageView            android:id="@+id/imageView3"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:src="@drawable/login_point" />        <ImageView            android:id="@+id/imageView4"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:src="@drawable/login_point" />        <ImageView            android:id="@+id/imageView5"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:src="@drawable/login_point" />    </LinearLayout></LinearLayout>
2.继承PagerAdapter

package com.gst.user.application;import android.content.Context;import android.support.v4.view.PagerAdapter;import android.support.v4.view.ViewPager;import android.view.View;import android.view.ViewGroup;import java.util.List;/** * Created by user on 1/25/16. */public class ViewPagerAdapter extends PagerAdapter{    private Context mContext;    private List<View> mData;    public ViewPagerAdapter(Context mContext, List<View> mData) {        this.mContext = mContext;        this.mData = mData;    }    @Override    public int getCount() {        return mData.size();    }    @Override    public boolean isViewFromObject(View view, Object object) {        return view==object;    }    @Override    public void destroyItem(ViewGroup container, int position, Object object) {        ((ViewPager)container).removeView(mData.get(position));    }    @Override    public Object instantiateItem(ViewGroup container, int position) {        ((ViewPager)container).addView(mData.get(position));        return mData.get(position);    }}

3.绑定数据

package com.gst.user.application;import android.app.AlertDialog;import android.app.Notification;import android.app.NotificationManager;import android.app.PendingIntent;import android.app.ProgressDialog;import android.content.DialogInterface;import android.content.Intent;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.design.widget.FloatingActionButton;import android.support.design.widget.Snackbar;import android.support.v4.view.ViewPager;import android.support.v7.app.AppCompatActivity;import android.support.v7.widget.Toolbar;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.CheckBox;import android.widget.ImageView;import android.widget.ListView;import android.widget.RemoteViews;import java.util.ArrayList;import java.util.List;import java.util.Random;public class TempActivity extends AppCompatActivity implements ViewPager.OnPageChangeListener{    private static final String TAG = "TempActivity";    ViewPager viewPager;    LayoutInflater inflater;    int[] imageViewIds=new int[]{R.id.imageView3,R.id.imageView4,R.id.imageView5};    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_temp);        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);        setSupportActionBar(toolbar);        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);        fab.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)                        .setAction("Action", null).show();            }        });        initViews();        initDots(0);    }    private void initDots(int index) {        for (int i = 0; i < imageViewIds.length; i++) {            ImageView imageView=(ImageView)findViewById(imageViewIds[i]);            if (i == index) {                imageView.setImageResource(R.drawable.login_point_selected);            }else {                imageView.setImageResource(R.drawable.login_point);            }        }    }    private void initViews() {        viewPager=(ViewPager)findViewById(R.id.viewPager);        inflater=getLayoutInflater();        List<View> views=new ArrayList<View>();        views.add(inflater.inflate(R.layout.one,null));        views.add(inflater.inflate(R.layout.two,null));        views.add(inflater.inflate(R.layout.three, null));        ViewPagerAdapter adapter=new ViewPagerAdapter(this,views);        viewPager.setAdapter(adapter);        viewPager.setOnPageChangeListener(this);    }    @Override    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {    }    @Override    public void onPageSelected(int position) {        initDots(position);    }    @Override    public void onPageScrollStateChanged(int state) {    }}


0 0