android viewpager引导页,ViewPager(实现引导页功能)

首先在引导界面的布局文件定义一个ViewPager:

android:layout_width="match_parent"

android:layout_height="match_parent"

android:id="@+id/vp"

android:persistentDrawingCache="animation"/>

再定义几个ImageView来显示不同的图片:

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:id="@+id/ll"

android:layout_alignParentBottom="true"

android:orientation="horizontal"

android:gravity="center_horizontal">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/iv1"

android:class="lazyload" src="https://img-blog.csdnimg.cn/2022010702451556202.png" data-original="@drawable/login_point" />

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/iv2"

android:class="lazyload" src="https://img-blog.csdnimg.cn/2022010702451556202.png" data-original="@drawable/login_point" />

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/iv3"

android:class="lazyload" src="https://img-blog.csdnimg.cn/2022010702451556202.png" data-original="@drawable/login_point" />

设置ViewPager的Adapter,继承自PagerAdapter:

public class MyAdapter extends PagerAdapter {

private List views;

private Context context;

public MyAdapter(List views,Context context){

this.views=views;

this.context=context;

}

@Override

public void destroyItem(ViewGroup container, int position, Object object) {

container.removeView(views.get(position));

}

@Override

public Object instantiateItem(ViewGroup container, int position) {

container.addView(views.get(position));

return views.get(position);

}

@Override

public int getCount() {

return views.size();

}

@Override

public boolean isViewFromObject(View view, Object object) {

return (view==object);

}

}

最后在onCreate方法中设置Adapter:

adapter=new MyAdapter(views,this);

vp= (ViewPager) findViewById(R.id.vp);

vp.setAdapter(adapter);

在每个图片下面添加导航点,这就需要调用ViewPager的setOnPageChangeListener(this)方法了。并覆盖onPageSelected(int position)。

@Override

public void onPageSelected(int position) {

for (int i = 0; i < ids.length; i++) {

//被选中的页面的导航点颜色要更深一些

if (position == i) {

dots[i].setImageResource(R.drawable.login_point_selected);

} else {

dots[i].setImageResource(R.drawable.login_point);

}

}

}

第一次启动应用是启动欢迎界面,在启动引导界面,最后启动主界面,第二次后就不启动引导界面了,通过Handler来发送消息。

public static final int time=2000;

public static final int GOHMOE =1000;

public static final int GOGUILD =1001;

private boolean isFistIn=false;

private Handler mHandler=new Handler(){

@Override

public void handleMessage(Message msg) {

switch (msg.what){

case GOHMOE:

goHome();

break;

case GOGUILD:

goGuild();

break;

}

}

};

private void goHome(){

Intent intent=new Intent(WelcomAty.this,MainActivity.class);

startActivity(intent);

finish();

}private void goGuild(){

Intent intent=new Intent(WelcomAty.this,Guild.class);

startActivity(intent);

finish();

}

private void init(){

SharedPreferences preferences= getSharedPreferences("jike",MODE_PRIVATE);

isFistIn=preferences.getBoolean("isFistIn",true);

if (!isFistIn){

mHandler.sendEmptyMessageDelayed(GOHMOE,time);

}else {

mHandler.sendEmptyMessageDelayed(GOGUILD,time);

SharedPreferences.Editor editor=preferences.edit();

editor.putBoolean("isFistIn",false);

editor.commit();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值