android欢迎向导页面
来源:互联网 发布:ldc1314数据手册 编辑:程序博客网 时间:2024/04/29 11:03
实现思路:打开app第一次进入的是logo界面,这个界面只有一个背景图片,进入界面之后发送一个延时1秒的消息,1秒后执行handler。
在sp中保存一个boolean类型的isFirst来标志是否是第一次进入到欢迎向导界面,默认是ture,意思就是是第一次进入;
如果是第一次进入直接进入欢迎向导界面(WelcomeActivity),否则进入主页面;
从图中可以看出WelcomeActivity的布局是一个VIewPager,当欢动到最后一个pager的时候布局中显示一个进入主页面的Button。
当点击这个Button的时候进入主页面并且把sp中boolean类型的isFirst设置为false;作用就是下一次打开app的时候直接进入主页面;
主页面和Logo的布局就不在粘贴了,只有一个textview和ImageView
我们看下欢迎向导页面的代码吧:
public class WelcomeActivity extends Activity{ private ViewPager mViewPager; private int[] imageIds={R.drawable.guide_1,R.drawable.guide_6,R.drawable.guide_8}; private List<ImageView> imageViewList; private Button mButton; private SharedPreferences sp; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_welcome); sp=getSharedPreferences("config",MODE_PRIVATE); mViewPager= (ViewPager) findViewById(R.id.viewpager); mButton= (Button) findViewById(R.id.button); //设置点击事件,当点击进入主页面时跳转到主页面,并且把sp中的isFirst设置为false,下次进入直接跳过欢迎向导界面进入主页面 mButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(WelcomeActivity.this,MainActivity.class); startActivity(intent); finish(); sp.edit().putBoolean("isFirst",false).commit(); } }); imageViewList=new ArrayList<ImageView>(); for (int x=0 ;x<imageIds.length;x++){ ImageView iv=new ImageView(this); iv.setBackgroundResource(imageIds[x]); imageViewList.add(iv); } adapter=new MyViewPagerAdapter(); mViewPager.setAdapter(adapter); //设置页面改变监听 mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { //当页面选择发生改变的时候 //如果是最后一个页面,显示进入主页面的button if(position==adapter.getCount()-1){ mButton.setVisibility(View.VISIBLE); }else { mButton.setVisibility(View.GONE); } } @Override public void onPageSelected(int position) { //当页面滑动的时候 } @Override public void onPageScrollStateChanged(int state) { //当页面滑动状态发生改变的时候 } }); } private MyViewPagerAdapter adapter; class MyViewPagerAdapter extends PagerAdapter{ @Override public int getCount() { return imageViewList.size(); } @Override public Object instantiateItem(ViewGroup container, int position) { ImageView view=imageViewList.get(position); container.addView(view); return view; } @Override public boolean isViewFromObject(View view, Object object) { return view==object; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } }}
源码下载地址
0 0
- android欢迎向导页面
- Android欢迎页面与使用向导
- Android 向导页面
- Android向导页面的实现
- Intent 向导 android页面的跳转
- Android项目之ViewPager向导页面
- Android 引导页面 欢迎页面
- Android欢迎页面动画
- Android 欢迎页面
- android 开发 之欢迎页面
- android 简单设置欢迎页面
- Android 简单欢迎页面设计
- Android欢迎页面WelcomeActivity实现
- android 简单的欢迎页面
- Android实现APP欢迎页面
- Android实现APP欢迎页面
- Android实现APP欢迎页面
- Android 欢迎页面 淡出动画
- 最长公共子序列 LCS
- POJ 1141 —— Brackets Sequence
- 最长上升子序列 LIS
- SLG时间定价策略浅析
- NYOJ 23 —— 取石子(一)【博弈】
- android欢迎向导页面
- NYOJ 1077 【博弈+大整数取模】
- NYOJ 176 、POJ 1664 —— m划分为n个正整数的划分个数
- NYOJ 746 - 正整数n划分为m段,求m段的最大乘积 【区间DP】
- NYOJ 90 —— 求正整数n划分为若干个正整数的划分个数
- NYOJ 571 —— 各种划分数
- NYOJ 651 —— n划分为2个以上不同正整数的划分个数
- 卡特兰数
- NYOJ 1103 —— m划分为n个正整数的个数