效果图:

             

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. CentOS6.5下安装远程桌面服务端软件VNC Server

    VNC 使您能够远程訪问和控制您的计算机从还有一计算机或移动设备上,不管你在世界的不论什么地方. 常见的使用情形,包含给同事和朋友提供桌面支持.远程管理您的服务器. 将 VNC Server部署到您想 ...

  2. POJ1390 Blocks 【动态规划】

    Blocks Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 4173   Accepted: 1661 Descriptio ...

  3. 第6章7节《MonkeyRunner源代码剖析》Monkey原理分析-事件源-事件源概览-注入按键事件实例

    在事件生成并放入到命令队列后,Monkey类的runMonkeyCycles就会去调用相应事件源的getNextEvent来获的事件来运行事件注入,那么这一小节我们通过MonkeyKeyEvent这个 ...

  4. NOI.AC: NOIP2018 全国模拟赛习题练习

    闲谈: 最后一个星期还是不浪了,做一下模拟赛(还是有点小虚) #30.candy 题目: 有一个人想买糖吃,有两家商店A,B,A商店中第i个糖果的愉悦度为Ai,B商店中第i个糖果的愉悦度为Bi 给出n ...

  5. 1.Thinkphp入门--框架介绍

    1.Thinkphp款家最早诞生于2006年初,最初名叫fsc,2007年元旦改名thinkphp,由国人自主开发的框架,有中文的文档和社区 2.Tinkphp下载: 官网:http://www.th ...

  6. Java 集合类的细节

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

  7. struts.xml里面子元素的配置

    <struts> <!-- package:包,struts2使用package来组织模块 name属性:必须,用于其他的包引用当前包 extends:当前包继承哪个包,继承的,即可 ...

  8. struts2配置 匹配原则 配置各项默认

    struts开发流程 1,引入jar包 2,配置web.xml 3,开发action类 4,配置struts.xml   版本: 2.3 引入jar文件 commons-fileupload-1.2. ...

  9. Pyhton学习——Day48

    # 转载:http://www.cnblogs.com/yuanchenqi/articles/6437362.html#python关于mysql的API--pymysql模块# 执行sql语句# ...

  10. Day 02 - 02 编程语言的分类

    编程语言的分类 机器语言分为: 1.机器语言 优点:执行代码效率非常快 缺点:开发效率低 2.汇编语言 优点(相对于机器语言):开发效率高 缺点(相对于机器语言):执行效率低 3.高级语言 解释型(同 ...