package com.handsomezhou.appguide.activity; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.content.Context; import android.content.Intent; 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; import android.widget.LinearLayout; import com.handsomezhou.appguide.R; import com.handsomezhou.appguide.adapter.GuidePagerAdapter; import com.handsomezhou.appguide.adapter.GuidePagerAdapter.OnGuidePagerAdapter; import com.handsomezhou.appguide.util.DataStoreManage; public class GuideActivity extends Activity implements OnPageChangeListener,OnGuidePagerAdapter{ private Context mContext; private ViewPager mGuideViewPager; private GuidePagerAdapter mGuidePagerAdapter; private List<View> mViews; private ImageView[] mDots; private int mCurrentIndex; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_guide); initData(); initView(); initListener(); } private void initData(){ } private void initView(){ mGuideViewPager=(ViewPager)findViewById(R.id.guide_viewpager); LayoutInflater inflater=LayoutInflater.from(this); mViews=new ArrayList<View>(); mViews.add(inflater.inflate(R.layout.guide_pager_one, null)); mViews.add(inflater.inflate(R.layout.guide_pager_two, null)); mViews.add(inflater.inflate(R.layout.guide_pager_three, null)); mViews.add(inflater.inflate(R.layout.guide_pager_four, null)); mGuidePagerAdapter=new GuidePagerAdapter(mViews, mContext); mGuidePagerAdapter.setOnGuidePagerAdapter(this); mGuideViewPager.setAdapter(mGuidePagerAdapter); initViewDots(); } private void initListener(){ mGuideViewPager.setOnPageChangeListener(this); initListenerDots(); } @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 position) { setCurrentDot(position); } private void initViewDots(){ LinearLayout linearLayout=(LinearLayout) findViewById(R.id.ll); mDots=new ImageView[mViews.size()]; for(int i=0; i<mViews.size(); i++){ mDots[i]=(ImageView)linearLayout.getChildAt(i); mDots[i].setEnabled(true); } mCurrentIndex = 0; mDots[mCurrentIndex].setEnabled(false); return; } private void initListenerDots(){ int dotsCount=mDots.length; for(int i=0; i<dotsCount; i++){ mDots[i].setTag(i); mDots[i].setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { int position=(Integer) v.getTag(); setCurrentDot(position); mGuideViewPager.setCurrentItem(position); } }); } return; } private void setCurrentDot(int position) { if (position < 0 || position > mViews.size() - 1 || mCurrentIndex == position) { return; } mDots[position].setEnabled(false); mDots[mCurrentIndex].setEnabled(true); mCurrentIndex = position; } @Override public void exitGuidePager() { DataStoreManage.setGuideFirstIn(GuideActivity.this, false); Intent intent=new Intent(GuideActivity.this, HomeActivity.class); startActivity(intent); GuideActivity.this.finish(); } }