效果图:

             

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. vehicle time series data analysis

    以HADOOP为代表的云计算提供的仅仅是一个算法执行环境,为大数据的并行计算提供了在现有软硬件水平下最好的(近似)方法.并不能解决大数据应用中的全部问题.从详细应用而言,通过物联网方式接入IT圈的数据 ...

  2. 3D数学读书笔记——矩阵进阶

    本系列文章由birdlove1987编写,转载请注明出处. 文章链接:http://blog.csdn.net/zhurui_idea/article/details/25242725 最终要学习矩阵 ...

  3. 关于static的使用

    在我们写类写方法的时候,通常会看到有的时候是静态的方法,有的则是动态的,那么问题来了,什么时候该加static什么时候不加static?这里的区别有多大那?那么加不加static取决与这个方法的特征与 ...

  4. HDU 3861--The King’s Problem【scc缩点构图 &amp;&amp; 二分匹配求最小路径覆盖】

    The King's Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  5. Spring MVC学习------------核心类与接口

    核心类与接口: 先来了解一下,几个重要的接口与类. 如今不知道他们是干什么的没关系,先混个脸熟,为以后认识他们打个基础. DispatcherServlet   -- 前置控制器 HandlerMap ...

  6. UVALive 3027 Corporative Network 带权并查集

                         Corporative Network A very big corporation is developing its corporative networ ...

  7. Codeforces Round #282 (Div. 1)B. Obsessive String KMP+DP

    B. Obsessive String   Hamed has recently found a string t and suddenly became quite fond of it. He s ...

  8. Tool-DB:Navicat

    ylbtech-Tool-DB:Navicat Navicat是一套快速.可靠并价格相当便宜的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设.它的设计符合数据库管理员.开发人员及中小企业的 ...

  9. C++ MAP使用

    1. map的构造函数map<int,string> maphai;map<char,int> maphai;map<string,char> mapstring; ...

  10. layui表格的新增和编辑功能前端代码

    html页面的代码(注意:引入layui相关的css): <div class="layui-form-item"> <label class="lay ...