package com.k1.description; import java.util.HashMap; import java.util.Map; import android.os.Bundle; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager.OnPageChangeListener; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.view.animation.AlphaAnimation; public class WelcomeActivity extends BaseActivity { private static final int[] PAGERS = new int[] { R.layout.activity_welcome_pager1, R.layout.activity_welcome_pager4, R.layout.activity_welcome_pager1, R.layout.activity_welcome_pager4, R.layout.activity_welcome_pager1 }; private ViewGroup mPoints; private int mLast = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_welcome); mPoints = (ViewGroup) findViewById(R.id.points);//滑动时移动的圆点 View view = mPoints.getChildAt(0); view.setBackgroundResource(R.drawable.point_selected); ViewPager vp = (ViewPager) findViewById(R.id.viewpager); vp.setAdapter(new PagerAdapter() { Map<Integer, View> viewMap = new HashMap<Integer, View>(); @Override public int getCount() { return 5; } @Override public void destroyItem(ViewGroup container, int position, Object object) { ((ViewPager) container).removeView(viewMap.get(position)); } @Override public Object instantiateItem(ViewGroup container, int position) { View view = viewMap.get(position); if (view == null) { view = getLayoutInflater().inflate(PAGERS[position], null); AlphaAnimation a = new AlphaAnimation(0.5f, 1); a.setDuration(300); view.startAnimation(a); viewMap.put(Integer.valueOf(position), view); } ((ViewPager) container).addView(view); return view; } @Override public boolean isViewFromObject(View arg0, Object arg1) { return arg0 == arg1; } @Override public int getItemPosition(Object object) { return super.getItemPosition(object); } }); vp.setOnPageChangeListener(new OnPageChangeListener() { @Override public void onPageSelected(int position) { for (int i = 0; i < mPoints.getChildCount(); i++) { View view = mPoints.getChildAt(i); if (i == mLast) { view.setBackgroundResource(R.drawable.point_unselected); } if (i == position) { view.setBackgroundResource(R.drawable.point_selected); } } mLast = position; } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override public void onPageScrollStateChanged(int arg0) { } }); } }