引导页面的设置与使用
引导页面是App更新以后第一次进入App时展示新功能的页面。
引导界面:
Viewpager 展示 3个界面,也就是说展示相关的三个后者三个以上的页面,使用viewPager空间进行展示。 如果用户滑动到最后一个界面 , 显示”开始体验”按钮。public class GuideActivity extends Activity { //数据源 List<Integer> imageResIds = new ArrayList<Integer>(); private Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_guide); imageResIds.add(R.drawable.guide_1); imageResIds.add(R.drawable.guide_2); imageResIds.add(R.drawable.guide_3); ViewPager view_pager = (ViewPager) findViewById(R.id.view_pager); button = (Button) findViewById(R.id.button); MyPagerAdapter adapter = new MyPagerAdapter(); view_pager.setAdapter(adapter); //viewpager界面改变监听,按照收拾滑动的顺序显示 view_pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageSelected(int position) { // 如果用户滑动到最后一个界面 , 显示"开始体验"按钮 if(position == imageResIds.size()-1){ button.setVisibility(View.VISIBLE); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(GuideActivity.this,MainActivity.class); startActivity(intent); finish(); } }); }else{ button.setVisibility(View.GONE); } } @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageScrollStateChanged(int state) { } }); }
Pageradapter的相关的代码
class MyPagerAdapter extends PagerAdapter{ //这个方法是返回数据源的个数 @Override public int getCount() { return imageResIds.size(); } //将从集合中的图片展示 按照position添加到container中 @Override public Object instantiateItem(ViewGroup container, int position) { ImageView imageView = new ImageView(GuideActivity.this); imageView.setBackgroundResource(imageResIds.get(position)); container.addView(imageView); return imageView; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } @Override public boolean isViewFromObject(View view, Object object) { return view == object; } }
}
2.说明
<android.support.v4.view.ViewPager
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
ViewPager是v4包中的一个控件可以按照普通的控件进行使用。