1、首先要导入android-support.v4.jar第三方工具包

2、activity_guid.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".GuidActivity" >
    <android.support.v4.view.ViewPager    包的封装类
        android:id="@+id/viewPager"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </android.support.v4.view.ViewPager>
    <LinearLayout     用来装图片
        android:id="@+id/layout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="30dp"
        android:gravity="center_horizontal"
        android:orientation="horizontal" >
    </LinearLayout>
    <Button
        android:id="@+id/isOpen"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="80dp"
        android:layout_centerHorizontal="true"
        android:visibility="invisible"
        android:text="进入" />
</RelativeLayout>

3、GuidActivity.class

private List<View> list;
    private List<ImageView> images;
    private ViewPager viewPager;
    private LinearLayout layout;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_guid);
        viewPager = (ViewPager) findViewById(R.id.viewPager);
        layout = (LinearLayout) findViewById(R.id.layout1);
        init();
        initImager();
    }
   
    public void init(){  
        list = new ArrayList<View>();
        View v1 = LayoutInflater.from(this).inflate(R.layout.viewpager_item, null);
        ImageView iv1 = (ImageView) v1.findViewById(R.id.item_image);
        iv1.setBackgroundResource(R.drawable.guide_1);
        list.add(v1);
        View v2 = LayoutInflater.from(this).inflate(R.layout.viewpager_item, null);
        ImageView iv2 = (ImageView) v2.findViewById(R.id.item_image);
        iv2.setBackgroundResource(R.drawable.guide_2);
        list.add(v2);
        View v3 = LayoutInflater.from(this).inflate(R.layout.viewpager_item, null);
        ImageView iv3 = (ImageView) v3.findViewById(R.id.item_image);
        iv3.setBackgroundResource(R.drawable.guide_3);
        list.add(v3);
        View v4 = LayoutInflater.from(this).inflate(R.layout.viewpager_item, null);
        ImageView iv4 = (ImageView) v4.findViewById(R.id.item_image);
        iv4.setBackgroundResource(R.drawable.guide_4);
        list.add(v4);
        ViewPagerAdapter adapter = new ViewPagerAdapter(list);
        viewPager.setAdapter(adapter);
        viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            
            @Override
            public void onPageSelected(int position) {   设置底部点的效果
                // TODO Auto-generated method stub
                for(int i=0;i<images.size();i++){
                    if(i==position){
                        images.get(i).setImageResource(R.drawable.banner_dian_focus);
                        if(i==images.size()-1){
                            bt_open.setVisibility(View.VISIBLE);
                        }else{
                            bt_open.setVisibility(View.INVISIBLE);
                        }
                    }else{
                        images.get(i).setImageResource(R.drawable.banner_dian_blur);
                    }
                }
            }
            
            @Override
            public void onPageScrolled(int arg0, float arg1, int arg2) {
                // TODO Auto-generated method stub
                
            }
            
            @Override
            public void onPageScrollStateChanged(int arg0) {
                // TODO Auto-generated method stub
                
            }
        });
    }
    public void initImager(){  向底部添加点
        images = new ArrayList<ImageView>();
        for(int i=0;i<list.size();i++){
            ImageView iv = new ImageView(this);
            iv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
            if(i == 0){
                iv.setImageResource(R.drawable.banner_dian_focus);
            }else{
                iv.setImageResource(R.drawable.banner_dian_blur);
            }
            iv.setPadding(30, 0, 0, 0);
            images.add(iv);
            layout.addView(iv);
        }
        
    }

4、ViewPagerAdapter.class

  public class ViewPagerAdapter extends PagerAdapter{

private List<View> list;
    
    public ViewPagerAdapter(List<View> list) {
        this.list = list;
    }
    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return list.size();
    }
    @Override
    public boolean isViewFromObject(View arg0, Object arg1) {
        // TODO Auto-generated method stub
        return arg0 == arg1;
    }
    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        // TODO Auto-generated method stub          添加布局
        ((ViewPager)container).addView(list.get(position));
        return list.get(position);
    }
    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        // TODO Auto-generated method stub
        ((ViewPager)container).removeView(list.get(position));  删除布局
    }

}

ViewPager引导的更多相关文章

  1. 【笔记】WPF实现ViewPager引导界面效果及问题汇总

    最近在开发项目的首次使用引导界面时,遇到了问题,引导界面类似于安卓手机ViewPager那样的效果,希望通过左右滑动手指来实现切换不同页面,其间伴随动画. 实现思路: 1.界面布局:新建一个UserC ...

  2. ViewPager引导页效果实例源码

    首先大家先找到本地的sdk,然后找到Google提供的API,具体查找方法如下:sdk——>docs——>index.html——>develop——>training——&g ...

  3. android 开发 实现一个app的引导页面,使用ViewPager组件(此引导的最后一页的Button会直接写在最后一页布局里,跟随布局滑进滑出)

    基本ViewPager组件使用方式与我之前写的https://blog.csdn.net/qq_37217804/article/details/80332634 这篇博客一致. 下面我们将重点详细解 ...

  4. android 开发 实现一个app的引导查看页面(使用ViewPager组件)

    我们安装完app后第一次打开app,通常都会有一个翻页图片形式的app引导简介说明.下面我们来实现这个功能.ViewPager这个组件与ListView和RecyclerView在使用上有很高的相似处 ...

  5. AndroidUI 引导页面的使用

    一个应用程序都少不了欢迎页面和引导页面,本文主要讲如何制作一个引页面: 首页所有的目录结构: 新建Welcome引导页面和Activity: <RelativeLayout xmlns:andr ...

  6. 安卓第一次启动引导页使用ViewPager实现

    我们在安装某个APP的时候,基本都会有一个引导页的提示,他们可以打广告,或者介绍新功能的加入和使用说明等.一般都支持滑动并且下面有几个点,显示共有多少页和当前图片的位置,在IOS上这个实现起来比较简单 ...

  7. ViewPager之引导页

    一.概述 ViewPager是android-support-v4中提供的类,它是一个容器类,常用于页面之间的切换. 本文介绍ViewPager最基础的应用:在多个View之间进行切换,亦即ViewP ...

  8. ViewPager实现引导页

    1. 要使用ViewPager,必须要创建 PagerAdapter. 这里创建一个 ViewPagerAdapter来继承PagerAdapter public class ViewPagerAda ...

  9. ViewPager打造轮播图(Banner)\引导页(Guide)

    今年7月时,在Github发布了一个开源的Banner库,虽然Star不多,但还是有少部分人使用. Banner效果:  昨天,有使用此库的同学提出需求,想在引导页的时候用这个库并且最后一页有进入按钮 ...

随机推荐

  1. Thrift入门 (一)

    Install Go to thrift page download thrift. 1 2 3 4 brew install boost ./configure --without-python s ...

  2. poj1316

    Self Numbers Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 20864   Accepted: 11709 De ...

  3. JSP 文件上传下载系列之二[Commons fileUpload]

    前言 关于JSP 文件上传的基础和原理在系列一中有介绍到. 这里介绍一个很流行的组件commons fileupload,用来加速文件上传的开发. 官方的介绍是:  让添加强壮,高性能的文件到你的se ...

  4. CodeForces463C Gargari and Bishops(贪心)

    CodeForces463C Gargari and Bishops(贪心) CodeForces463C 题目大意:  在国际象棋的棋盘上放两个主教,这个两个主教不能攻击到同一个格子,最后的得分是这 ...

  5. 设置dialog显示,自定义时间到后dialog消失

    方法一: public class MyDialog extends Dialog { private int FLAG_DISMISS = 1; private boolean flag = tru ...

  6. DDL

    在DDL(Data Definition Language)中,创建.删除.修改使用create.drop.alter关键字 数据库的创建 create database 数据库名选择数据库 use ...

  7. JavaSE复习日记 : 方法的调用和方法的重载

    /* * 方法的调用和方法重载 */ /* * 什么是方法? * 方法就是一个有名字的代码段; * 方法的调用: * 在方法里调用另外一个方法里面的东西就是方法调用; * 或者可以认为"另外 ...

  8. struts2中#,$,%的用法以及el,ognl表达式的用法

    OGNL, JSTL, STRUTS2标签中符号#,$,%的用法示例 取Session中的值 <c:out value="${sessionScope.user.userId}&quo ...

  9. Android 数据库ORM框架GreenDao学习心得及使用总结<二>

    转:http://blog.csdn.net/xushuaic/article/details/24496191 第五篇 查询 查询会返回符合某些特定标准的实体.你可以使用原始的SQL定制查询语句,或 ...

  10. 在VHDL中,“传输延迟”和“惯性延迟”

    传输延迟就是最容易理解的从输入变化到输出变化之间的延迟.对应语法是transport例如 b <= transport a after 20ns 惯性延迟考虑了电容效应,即如果输入是(相对)窄的 ...