效果图:

             

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. 似然函数(likelihood function)

    1. 似然函数基本定义 令 X1,X2,-,Xn 为联合密度函数 f(X1,X2,-,Xn|θ),给定观测值 X1=x1,X2=x2,-,Xn=xn,关于 θ 的似然函数(likelihood fun ...

  2. Linux就该这么学 20181007(第十一章ftp)

    参考链接https://www.linuxprobe.com/ iptables -F #ftp 21端口 #主动模式,被动模式 #匿名用户 本地用户 虚拟用户 vim /etc/vsftpd/vsf ...

  3. 剑指offer——06旋转数组的最小数字(Python3)

    题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素.例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数 ...

  4. Linux中文件上传使用rz

    1.首先,要是服务器不支持rz命令的话,需要安装执行 sudo yum -y install lrzsz 2.再输入rz -be命令,选择需要上传的本地文件 sudo rz 从服务端发送文件到客户端: ...

  5. 在js在添版本号

    为了增加用户访问网站体验,快速打开网页,许多网站都对不常更新的js,css文件在浏览器端设置了缓存.但如果在服务器端做了更新,浏览器使用的仍是缓存在本地的js文件,除非强制清缓存(ctrl+F5).为 ...

  6. 下拉列表的使用(Ajax/数据联动)

    下拉列表联动

  7. listview添加的头部布局超过一屏头部内容显示不全

    headView的实际高度超过一个屏幕,但是显示的结果只有一个屏幕,超过一个屏幕高度意外的部分显示不全. 只使用了listView.getRefreshable().addHeadView(headV ...

  8. Oracle 合并查询

    8).合并查询有时在实际应用中,为了合并多个select语句的结果,可以使用集合操作符号union,union all,intersect,minus.多用于数据量比较大的数据局库,运行速度快.1). ...

  9. iOS9 & Xcode7 下设置LaunchImage启动图片 问题及解决

    最近在学习iOS开发,碰到一个设置启动图片的问题,怎么也搞不定,综合网上种种资料后Done,现在把完整过程写一下. 这里以建立一个空的Single View Application 为演示基础. 1. ...

  10. day20 匿名函数,内置函数,面向过程编程

    目录 有名函数 匿名函数 max() min() sorted map filter 内置函数 面向过程编程 有名函数 def f1(): print('my name is f1') f1() my ...