package com.hua.goddess.activites;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.graphics.Typeface;
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.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.Animation;
import android.view.animation.AnimationSet;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import com.hua.goddess.R;
import com.hua.goddess.animation.DepthPageTransformer;
import com.umeng.analytics.MobclickAgent;
public class GuideActivity extends Activity implements OnPageChangeListener {
private TextView pageNum;
private ViewPager vp;
private List<View> views;
private ViewPagerAdapter vpAdapter;
private LayoutInflater inflater;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_guide);
inflater = LayoutInflater.from(this);
initViews();
initPageNum();
}
private void initPageNum() {
pageNum = (TextView) findViewById(R.id.page_num);
Typeface typeface = Typeface.createFromAsset(getAssets(),
"font/Roboto-Thin.ttf");
pageNum.setTypeface(typeface);
pageNum.setText("");
}
private void initViews() {
views = new ArrayList<View>();
views.add(inflater.inflate(R.layout.views_one, null));
views.add(inflater.inflate(R.layout.views_two, null));
views.add(inflater.inflate(R.layout.views_three, null));
views.add(inflater.inflate(R.layout.views_four, null));
vpAdapter = new ViewPagerAdapter(views, this);
vp = (ViewPager) findViewById(R.id.viewpager);
vp.setPageTransformer(true, new DepthPageTransformer());
vp.setAdapter(vpAdapter);
vp.setOnPageChangeListener(this);
}
public class ViewPagerAdapter extends PagerAdapter {
private List<View> views;
private Activity activity;
public ViewPagerAdapter(List<View> views, Activity activity) {
this.views = views;
this.activity = activity;
}
@Override
public void destroyItem(View arg0, int arg1, Object arg2) {
((ViewPager) arg0).removeView(views.get(arg1));
}
@Override
public int getCount() {
if (views != null) {
return views.size();
}
return 0;
}
@Override
public Object instantiateItem(View arg0, int arg1) {
((ViewPager) arg0).addView(views.get(arg1), 0);
if (arg1 == 0) {
AnimationSet animationSet = new AnimationSet(true);
Animation alphaAnimation = AnimationUtils.loadAnimation(
GuideActivity.this, R.anim.alpha);
Animation tAnimation = AnimationUtils.loadAnimation(
GuideActivity.this, R.anim.trans);
animationSet.addAnimation(alphaAnimation);
animationSet.addAnimation(tAnimation);
ImageView imageView = (ImageView) arg0
.findViewById(R.id.first_image);
imageView.startAnimation(animationSet);
}
if (arg1 == views.size() - 1) {
Button mStart = (Button) arg0.findViewById(R.id.mstart);
mStart.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
setGuided();
goHome();
}
});
}
return views.get(arg1);
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return (arg0 == arg1);
}
public void goHome() {
// Intent intent = new Intent(activity, ContentActivity.class);
// activity.startActivity(intent);
// overridePendingTransition(android.R.anim.fade_in,
// android.R.anim.fade_out);
// activity.finish();
}
public void setGuided() {
SharedPreferences preferences = activity.getSharedPreferences(
"first_pref", Context.MODE_PRIVATE);
Editor editor = preferences.edit();
editor.putBoolean("isFirst", false);
editor.commit();
}
}
@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) {
if (arg0 == 0) {
pageNum.setText("");
} else {
pageNum.setTextColor(0xFF767676);
pageNum.setText(arg0 + 1 + " - 4");
}
}
public void onResume() {
super.onResume();
MobclickAgent.onResume(this);
}
public void onPause() {
super.onPause();
MobclickAgent.onPause(this);
}
}