效果图:

             

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSk1DNjAx/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSk1DNjAx/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt=""> 
      

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSk1DNjAx/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

功能描写叙述:

1、拖动能够切换view

2、点击dot能够跳转到对应view

3、每隔三秒自己主动切换view

实现:

1、先写布局main.xml文件,定义一个存放图片的ViewPager,和存放dot的LinearLayout  

 <android.support.v4.view.ViewPager

        android:id="@+id/viewpager"

        android:layout_width="match_parent"

    android:layout_height="150dp">        

        </android.support.v4.view.ViewPager>





   <LinearLayout  

            android:id="@+id/viewGroup"    

            android:layout_width="fill_parent"  

            android:layout_height="wrap_content"             

            android:gravity="center"  

            android:layout_marginTop="405px"  

            android:orientation="horizontal" >  

        </LinearLayout> 

2、主要实现代码:

a、初始化view视图,设置viewpager的适配器

private void initViewPager() {

// TODO Auto-generated method stub

items = new ArrayList<View>();



for(int i=0; i<4; i++){

image = new ImageView(this);

image.setBackgroundResource(ads[i]);

items.add(image);

}



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

viewpager.setAdapter(adapter);

viewpager.setOnPageChangeListener(this);

}

b、初始化dot视图

private void initDot() {

// TODO Auto-generated method stub

viewGroup = (LinearLayout)findViewById(R.id.viewGroup);

dots = new ImageView[items.size()];



LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(40, 40);

layoutParams.setMargins(4, 3, 4, 3);



for(int i=0 ; i<items.size(); i++){

dot = new ImageView(this);



dot.setLayoutParams(layoutParams);  

dots[i] = dot;

dots[i].setTag(i);

dots[i].setOnClickListener(onClick);



if (i == 0) {  

               dots[i]  

                       .setBackgroundResource(R.drawable.dotc);  

           } else {  

               dots[i]  

                       .setBackgroundResource(R.drawable.dotn);  

           }  

           

viewGroup.addView(dots[i]);  

}

}

c、实现dot点击响应功能

OnClickListener onClick = new OnClickListener(){



@Override

public void onClick(View v) {

// TODO Auto-generated method stub

int position = (Integer)v.getTag();  

       setCurView(position);  

       setCurDot(position);  

}



};

d、自己主动切换视图

private void atomicOption() {  

//获取当前的值,并自增

        atomicInteger.incrementAndGet(); 

        

        if (atomicInteger.get() > items.size() - 1) {  

        atomicInteger.getAndAdd(-4);  

        }  

               

        try {          

            Thread.sleep(3000);  

        } catch (InterruptedException e) {  

              

        }  

    }

源代码下载路径:http://download.csdn.net/detail/jmc601/7275991

使用ViewPager实现广告滑动效果的更多相关文章

  1. 使用ViewPager实现屏幕滑动效果

    oncreate中设置viewPager viewPager.setPageTransformer(true,new DepthPageTransformer());//设置页面过滤动画效果 page ...

  2. android SlidingTabLayout实现ViewPager页卡滑动效果

    先来张效果图(能够滑动切换页卡) watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcGVuZ2t2/font/5a6L5L2T/fontsize/400/fi ...

  3. 兔子--Fragment与ViewPager要切换滑动效果

    效果图: 文件夹结构: 代码分析: MainActivity.java package com.example.myfragment; /** * @author Arthur Lee * @time ...

  4. 011 Android TabLayout+ViewPager实现顶部滑动效果(多个页面)

    1.TabLayout介绍 TabLayout提供了一个水平的布局用来展示Tabs,很多应用都有这样的设计,典型的有网易新闻,简书,知乎等.TabLayout就可以很好的完成这一职责,首先TabLay ...

  5. 转:Android ViewPager多页面滑动切换以及动画效果

    一.首先,我们来看一下效果图,这是新浪微博的Tab滑动效果.我们可以手势滑动,也可以点击上面的头标进行切换.与此同方式, 白色横条会移动到相应的页卡头标下.这是一个动画效果,白条是缓慢滑动过去的.好了 ...

  6. 【Android 界面效果27】利用ViewPager、Fragment、PagerTabStrip实现多页面滑动效果

    本文主要介绍如何利用ViewPager.Fragment.PagerTabStrip实现多页面滑动效果.即google play首页.新浪微博消息(at.评论.私信.广播)页面的效果.ViewPage ...

  7. Android ViewPager多页面滑动切换以及动画效果

    一.首先,我们来看一下效果图,这是新浪微博的Tab滑动效果.我们可以手势滑动,也可以点击上面的头标进行切换.与此同方式,白色横条会移动到相应的页卡头标下.这是一个动画效果,白条是缓慢滑动过去的.好了, ...

  8. Android ViewPager实现软件的第一次加载的滑动效果

    public class MainActivity extends Activity { private ViewPager viewPager; private List<View> V ...

  9. Android——ViewPager多页面滑动切换以及动画效果

    一.首先,我们来看一下效果图,这是新浪微博的Tab滑动效果.我们可以手势滑动,也可以点击上面的头标进行切换.与此同方式,白色横条会移动到相应的页卡头标下.这是一个动画效果,白条是缓慢滑动过去的.好了, ...

随机推荐

  1. 24岁菜鸟,能一个人撑起App开发吗

     "疲惫吾心.怎样躲藏.四处荒芜,怎话忧伤?"临近中秋,看到艾瑞斯的QQ签名,无尽的伤感.这个年仅24的青年.连续3年没有回家了,近期一个月总是失眠,没有家人的陪伴,就连女朋友 ...

  2. RecyclerView的点击事件

    RecyclerView 一.简单介绍 这个是谷歌官方出的控件.使我们能够很easy的做出列表装的一个控件,当然recyclerview的功能不止这些,它还能够做出瀑布流的效果,这是一个很强大的控件, ...

  3. display:block jquery.sort()

    对所有的块元素都没有意义,块元素的dispaly属性默认值为block,没必要再显式定义——除非你之前对块元素的display属性重新定义过.===========================多罗 ...

  4. bzoj5216: [Lydsy2017省队十连测]公路建设

    题目思路挺巧妙的. 感觉应该可以数据结构一波,发现n很小可以搞搞事啊.然后又发现给了512mb,顿时萌生大力线段树记录的念头 一开始想的是记录节点的fa,然后发现搞不动啊?? 但其实边肯定最多只有n- ...

  5. Linux下安装PHP7.1并做关联APACHE处理

    1.复制php压缩包到/usr/local/src 2.解压 tar -zxvf php-7.1.2.tar.gz 3.编译安装(请先安装apache和mysql) ./configure --pre ...

  6. hdoj--1201--18岁生日(模拟)

    18岁生日 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  7. MVC 全局异常处理(适用多人操作)

    自定义特性: using System; using System.Collections.Generic; using System.Linq; using System.Web; using Sy ...

  8. Python笔记(三)

    # -*- coding:utf-8 -*- # 运算符 a,b=10,20 # 算术运算符:包括+.-.*./.%.**.//运算 print "********************1 ...

  9. PHP日期和时间处理组件-Carbon

    https://packagist.org/packages/nesbot/carbon 我们使用PHP时经常需要处理日期和时间,有时会被时间时区搞混淆,而Carbon是PHP中很人性化的时间日期处理 ...

  10. Java 集合类的细节

    java集合类 1.Collection,Map层次图 2.Collection接口 list 存放有序且允许重复的集合的接口 这里的有序是指存入顺序和取出顺序相同.子类有:{ ArrayList,L ...