package com.example.day008.activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.widget.ImageView;
import android.widget.LinearLayout;
import com.example.day008.MainActivity;
import com.example.day008.R;
import com.example.day008.adapter.MyAdapter;
import com.example.day008.fragment.WelcomeFragment;
import com.example.day008.fragment.WelcomeFragmentThree;
import com.example.day008.fragment.WelcomeFragmentTwo;
import java.util.ArrayList;
import java.util.Timer;
import java.util.TimerTask;
public class WelcomeActivity extends AppCompatActivity {
private ViewPager vp;
private static final String TAG = “WelcomeActivity”;
private ArrayList welcomeFragments;
private int index =0;
private LinearLayout ll;
private Timer timer;
private Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if(msg.what == 100){
vp.setCurrentItem(index);
index++;
//停止自动翻页
if(index == welcomeFragments.size()){
timer.cancel();
}
}
}
};
private WelcomeFragmentThree welcomeFragmentThree;
private ArrayList imageViews;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_welcome);
SharedPreferences welcome = getSharedPreferences("welcome", Context.MODE_PRIVATE);
boolean welcome1 = welcome.getBoolean("welcome", false);
if(welcome1){
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
//finish后当前的activity不会立即结束,还是用执行完oncreate的内容.所以要return;
finish();
return;
}
vp = (ViewPager) findViewById(R.id.vp);
ll = (LinearLayout) findViewById(R.id.ll);
welcomeFragments = new ArrayList<>();
welcomeFragments.add(new WelcomeFragment());
welcomeFragments.add(new WelcomeFragmentTwo());
welcomeFragmentThree = new WelcomeFragmentThree();
welcomeFragments.add(welcomeFragmentThree);
imageViews = new ArrayList<>();
for (int i = 0; i <welcomeFragments.size() ; i++) {
ImageView imageView = new ImageView(this);
imageView.setImageResource(R.drawable.circle_false);
if(i == 0){
imageView.setImageResource(R.drawable.circle_true);
}
imageViews.add(imageView);
ll.addView(imageView);
}
vp.setAdapter(new MyAdapter(getSupportFragmentManager(),welcomeFragments));
SharedPreferences welcome2 = getSharedPreferences("welcome", Context.MODE_PRIVATE);
SharedPreferences.Editor edit = welcome2.edit();
edit.putBoolean("welcome",true);
edit.commit();
timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
handler.sendEmptyMessage(100);
}
},0,1500);
vp.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int i, float v, int i1) {
}
@Override
public void onPageSelected(int i) {
if(i == welcomeFragments.size()-1){
welcomeFragmentThree.handler.sendEmptyMessage(110);
}
for (int j = 0; j < imageViews.size(); j++) {
if(j == i){
imageViews.get(j).setImageResource(R.drawable.circle_true);
}else{
imageViews.get(j).setImageResource(R.drawable.circle_false);
}
}
}
@Override
public void onPageScrollStateChanged(int i) {
}
});
}
}
package com.example.day008.adapter;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import java.util.List;
public class MyAdapter extends FragmentStatePagerAdapter {
private List<Fragment> list;
public MyAdapter(FragmentManager fm, List<Fragment> list) {
super(fm);
this.list = list;
}
@Override
public Fragment getItem(int i) {
return list.get(i);
}
@Override
public int getCount() {
return list.size();
}
}