app引导页怎么写( 四 )


3.如何App实现引导页和欢迎页欢迎页:这个在我们的微信里面就有这个,我们每一次打开微信的时候都有一个地球,那么这样就是欢迎页 。
欢迎页具有良好的数据缓存作用 。引导页:就是我们没次安装一个app的时候,前面都有几个图片 。
那么这个引导页有哪些作用,第一:它有教我们怎么使用这个app和接受这app 。第二:有宣传的作用 。
我们在这个功能中用到的知识点有ViewPage、ViewPage的适配器PageAdapter、ViewPage的滑动改变事件、、RadioGroupRadioButton的点击事件 。好,现在我们接下来上代码了 。
这个就是我的项目结构 。其中WActivity.class是欢迎页、FActivity.class是引导页、MyAdapter.class是ViewPage的适配、BasePageListen实现页面滑动的接口 。
第一个我们先写WActivity这个类 。package com.example.office.startapp; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.os.Handler; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; public class WActivity extends AppCompatActivity { private SharedPreferences sp; private boolean isFirst; //欢迎页面 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_w); //获得共享参数对象 sp=getSharedPreferences("first", Context.MODE_PRIVATE); //参数二 如果sp文件中没有记录的话 返回的默认值 isFirst=sp.getBoolean("isFirst",true); //这里面的判断就是 如果是第一次进入app 那就跳转引导页 //不是第一次就跳到主页面 new Handler().postDelayed(new Runnable() { SharedPreferences.Editor editor; Intent intent; @Override public void run() { if(isFirst){ intent =new Intent(WActivity.this,FActivity.class); startActivity(intent); WActivity.this.finish(); //把数据保存到sp里面 //获取可以向sp里面写入数据的对象 editor=sp.edit(); editor.putBoolean("first",false); //提交我们的数据 editor.commit(); }else { intent=new Intent(WActivity.this,MainActivity.class); startActivity(intent); WActivity.this.finish(); } } },1500); } } 下面我们就写MyAdpter这个类 import android.content.Context; import android.support.v4.view.PagerAdapter; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import java.util.List;/** * Created by OFFICE on 2016/8/9. */ public class MyAdapter extends PagerAdapter{ private List< ImageView > list; private Context context; public MyAdapter(Context context, List list) { this.context = context; this.list = list; } @Override public int getCount() { return list.size(); } @Override public boolean isViewFromObject(View view, Object object) { return view==object; } @Override public Object instantiateItem(ViewGroup container, int position) { container.addView(list.get(position)); return list.get(position); } //里面有一个方法必须删除super.不删除会报错 @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View)object); } } 我们写BasePageListen这个类 import android.support.v4.view.ViewPager;/** * Created by OFFICE on 2016/8/9. */ public class BasePageListen implements ViewPager.OnPageChangeListener{ @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { } @Override public void (int state) { } } 最后我们写FActivit import android.content.Intent; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.ImageView; import android.widget.RadioButton; import android.widget.RadioGroup; import java.util.ArrayList; import java.util.List;//引导页 public class FActivity extends AppCompatActivity { private List list; private RadioGroup radioGroup; private ViewPager viewPager; private ImageView imageView1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_f); viewPager= (ViewPager) findViewById(R.id.viewPage); radioGroup= (RadioGroup) findViewById(R.id.radiogroup); imageView1= (ImageView) findViewById(R.id.image) ; initView(); imageView1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(FActivity.this, MainActivity.class); startActivity(intent); FActivity.this.finish(); } }); MyAdapter myAdapter=new MyAdapter(this,list); viewPager.setAdapter(myAdapter); //viewPage变动RadioButton也在变动 viewPager.(new BasePageListen(){ @Override public void onPageSelected(int position)。