package com.yuzhi.fine.activity; import android.os.Bundle; import android.os.Handler; import android.support.v4.app.FragmentActivity; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.view.View; import android.view.ViewGroup; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.widget.Button; import android.widget.ImageView; import com.yuzhi.fine.R; import com.yuzhi.fine.ui.UIHelper; import com.yuzhi.fine.ui.viewpagerindicator.CirclePageIndicator; import com.yuzhi.fine.utils.SharedPreferences; /** * Created by tiansj on 15/7/29. */ public class SplashActivity extends FragmentActivity { private Button btnHome; private CirclePageIndicator indicator; private ViewPager pager; private GalleryPagerAdapter adapter; private int[] images = { R.drawable.newer01, R.drawable.newer02, R.drawable.newer03, R.drawable.newer04 }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_splash); final boolean firstTimeUse = SharedPreferences.getInstance().getBoolean("first-time-use", true); new Handler().postDelayed(new Runnable() { @Override public void run() { if(firstTimeUse) { Animation fadeOut = AnimationUtils.loadAnimation(SplashActivity.this, R.anim.fadeout); fadeOut.setFillAfter(true); findViewById(R.id.guideImage).startAnimation(fadeOut); initGuideGallery(); } else { UIHelper.showHome(SplashActivity.this); } } }, 2000); } private void initGuideGallery() { final Animation fadeIn= AnimationUtils.loadAnimation(this, R.anim.fadein); btnHome = (Button) findViewById(R.id.btnHome); btnHome.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { SharedPreferences.getInstance().putBoolean("first-time-use", false); UIHelper.showHome(SplashActivity.this); } }); indicator = (CirclePageIndicator) findViewById(R.id.indicator); indicator.setVisibility(View.VISIBLE); pager = (ViewPager) findViewById(R.id.pager); pager.setVisibility(View.VISIBLE); adapter = new GalleryPagerAdapter(); pager.setAdapter(adapter); indicator.setViewPager(pager); indicator.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { if (position == images.length - 1) { btnHome.setVisibility(View.VISIBLE); btnHome.startAnimation(fadeIn); } else { btnHome.setVisibility(View.GONE); } } @Override public void onPageScrollStateChanged(int state) { } }); } public class GalleryPagerAdapter extends PagerAdapter { @Override public int getCount() { return images.length; } @Override public boolean isViewFromObject(View view, Object object) { return view == object; } @Override public Object instantiateItem(ViewGroup container, int position) { ImageView item = new ImageView(SplashActivity.this); item.setScaleType(ImageView.ScaleType.CENTER_CROP); item.setImageResource(images[position]); container.addView(item); return item; } @Override public void destroyItem(ViewGroup collection, int position, Object view) { collection.removeView((View) view); } } }