Viewpager

来源:互联网 发布:光猫telnet端口被关闭 编辑:程序博客网 时间:2024/04/29 11:41
<?xml version="1.0" encoding="utf-8"?><FrameLayout 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/guidePages"        android:layout_width="fill_parent"        android:layout_height="wrap_content"/>    <RelativeLayout          android:layout_width="fill_parent"          android:layout_height="wrap_content"          android:orientation="vertical" >    <LinearLayout          android:id="@+id/viewGroup"          android:layout_width="fill_parent"          android:layout_height="wrap_content"          android:layout_alignParentBottom="true"          android:layout_marginBottom="10dp"          android:gravity="center_horizontal"          android:orientation="horizontal" >      </LinearLayout>      </RelativeLayout></FrameLayout>package com.src.android;import java.util.ArrayList;import android.app.Activity;import android.os.Bundle;import android.os.Parcelable;import android.support.v4.view.PagerAdapter;import android.support.v4.view.ViewPager;import android.support.v4.view.ViewPager.OnPageChangeListener;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.view.ViewGroup.LayoutParams;import android.view.Window;import android.widget.ImageView;/** * ViewPager效果 * @author Hero_hwl * 2012-4-11 */public class Test extends Activity {    /** Called when the activity is first created. */private static final String TAG="Test";    private ViewPager viewPager;      private ArrayList<View> pageViews;      private ViewGroup main, group;      private ImageView imageView;      private ImageView[] imageViews;     @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        requestWindowFeature(Window.FEATURE_NO_TITLE);//还得放在布局文件的上方        LayoutInflater inflater = getLayoutInflater();          pageViews = new ArrayList<View>();          pageViews.add(inflater.inflate(R.layout.item01, null));          pageViews.add(inflater.inflate(R.layout.item02, null));          pageViews.add(inflater.inflate(R.layout.item03, null));          pageViews.add(inflater.inflate(R.layout.item04, null));           imageViews = new ImageView[pageViews.size()];          main = (ViewGroup)inflater.inflate(R.layout.main, null);                  // group是R.layou.main中的负责包裹小圆点的LinearLayout.          group = (ViewGroup)main.findViewById(R.id.viewGroup);            viewPager = (ViewPager)main.findViewById(R.id.guidePages);            for (int i = 0; i < pageViews.size(); i++) {              imageView = new ImageView(Test.this);              imageView.setLayoutParams(new LayoutParams(15,15));               imageViews[i] = imageView;              if (i == 0) {                  //默认选中第一张图片                imageViews[i].setBackgroundResource(R.drawable.feature_point_cur);              } else {                  imageViews[i].setBackgroundResource(R.drawable.feature_point);              }              group.addView(imageViews[i]);          }            setContentView(main);            viewPager.setAdapter(new GuidePageAdapter());          viewPager.setOnPageChangeListener(new GuidePageChangeListener());      }        /** 指引页面改监听器 */    class GuidePageChangeListener implements OnPageChangeListener {            @Override          public void onPageScrollStateChanged(int arg0) {              // TODO Auto-generated method stub            }            @Override          public void onPageScrolled(int arg0, float arg1, int arg2) {              // TODO Auto-generated method stub            }            @Override          public void onPageSelected(int arg0) {              for (int i = 0; i < imageViews.length; i++) {                  imageViews[arg0]                          .setBackgroundResource(R.drawable.feature_point_cur);                  if (arg0 != i) {                      imageViews[i]                              .setBackgroundResource(R.drawable.feature_point);                  }              }          }        }          /** 指引页面Adapter */    class GuidePageAdapter extends PagerAdapter {                @Override          public int getCount() {              return pageViews.size();          }            @Override          public boolean isViewFromObject(View arg0, Object arg1) {              return arg0 == arg1;          }            @Override          public int getItemPosition(Object object) {              // TODO Auto-generated method stub              return super.getItemPosition(object);          }            @Override          public void destroyItem(View arg0, int arg1, Object arg2) {              // TODO Auto-generated method stub              ((ViewPager) arg0).removeView(pageViews.get(arg1));          }            @Override          public Object instantiateItem(View arg0, int arg1) {              // TODO Auto-generated method stub              ((ViewPager) arg0).addView(pageViews.get(arg1));              return pageViews.get(arg1);          }            @Override          public void restoreState(Parcelable arg0, ClassLoader arg1) {              // TODO Auto-generated method stub            }            @Override          public Parcelable saveState() {              // TODO Auto-generated method stub              return null;          }            @Override          public void startUpdate(View arg0) {              // TODO Auto-generated method stub            }            @Override          public void finishUpdate(View arg0) {              // TODO Auto-generated method stub            }      }     }

原创粉丝点击