ViewFlipper的使用

Android入门第31天-Android里的ViewFlipper翻转视图的使用 本篇给大家带了的是ViewFlipper,它是Android自带的一个多页面管理控件,且可以自动播放! 和ViewPager不同,ViewPager是一页页的,而ViewFlipper则是一层层的,和ViewPager一样,很多时候, 用来实现进入应用后的引导页,或者用于图片轮播,本篇我们我们会使用两个例子:一个自动播放首页轮播页一个手动可左右滑动道页的轮播页来说透这个组件的使用。 阅读详情

2010 - 01 - 17

ViewFlipper的使用

文章分类:移动开发

屏幕切换指的是在同一个Activity内屏幕见的切换,最长见的情况就是在一个FrameLayout内有多个页面,比如一个系统设置页面;一个个性化设置页面。


通过查看 OPhone API文档可以发现,有个android.widget.ViewAnimator类继承至FrameLayout,ViewAnimator类的作用是为FrameLayout里面的View切换提供动画效果。该类有如下几个和动画相关的函数:
l setInAnimation:设置 View进入屏幕时候使用的动画,该函数有两个版本,一个接受单个参数,类型为android.view.animation.Animation;一个接受两个参数,类型为Context和int,分别为Context对象和定义Animation的resourceID。
 
  • setOutAnimation: 设置View退出屏幕时候使用的动画,参数setInAnimation函数一样。
  • showNext: 调用该函数来显示FrameLayout里面的下一个View。
  • showPrevious: 调用该函数来显示FrameLayout里面的上一个View。
 
一般不直接使用 ViewAnimator而是使用它的两个子类ViewFlipper和ViewSwitcher。ViewFlipper可以用来指定FrameLayout内多个View之间的切换效果,可以一次指定也可以每次切换的时候都指定单独的效果。该类额外提供了如下几个函数:
 
  • isFlipping: 用来判断View切换是否正在进行
  • setFilpInterval:设置View之间切换的时间间隔
  • startFlipping:使用上面设置的时间间隔来开始切换所有的View,切换会循环进行
  • stopFlipping: 停止View切换
ViewSwitcher 顾名思义Switcher特指在两个View之间切换。可以通过该类指定一个ViewSwitcher.ViewFactory 工程类来创建这两个View。该类也具有两个子类ImageSwitcher、TextSwitcher分别用于图片和文本切换。
在教程中通过示例介绍ViewFlipper 的使用,其他的使用方式是类似的。详细信息可以参考文档:
 
ViewFlipper示例
记住, ViewFlipper是继承至FrameLayout的,所以它是一个Layout里面可以放置多个View。在示例中定义一个ViewFlipper,里面包含三个ViewGroup作为示例的三个屏幕,每个ViewGroup中包含一个按钮和一张图片,点击按钮则显示下一个屏幕。代码如下(res/layout/main.xml):
  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <LinearLayout   
  3.     xmlns:android="http://schemas.android.com/apk/res/android"  
  4.     android:orientation="vertical"    
  5.     android:layout_width="fill_parent"  
  6.     android:layout_height="fill_parent">   
  7.     <ViewFlipper android:id="@+id/details"  
  8.        android:layout_width="fill_parent"    
  9.        android:layout_height="fill_parent"  
  10.        android:persistentDrawingCache="animation"  
  11.        android:flipInterval="1000"  
  12.        android:inAnimation="@anim/push_left_in"  
  13. android:outAnimation="@anim/push_left_out"  
  14. >    
  15.        <LinearLayout   
  16.            android:orientation="vertical"  
  17.            android:layout_width="fill_parent"    
  18.            android:layout_height="fill_parent">   
  19.            <Button   
  20.               android:text="Next"    
  21.               android:id="@+id/Button_next1"  
  22.               android:layout_width="fill_parent"    
  23.               android:layout_height="wrap_content">   
  24.            </Button>   
  25.            <ImageView   
  26.               android:id="@+id/image1"    
  27.               android:src="@drawable/dell1"  
  28.               android:layout_width="fill_parent"  
  29.               android:layout_height="wrap_content">   
  30.            </ImageView>   
  31.        </LinearLayout>   
  32.     
  33.        <LinearLayout   
  34.            android:orientation="vertical"  
  35.            android:layout_width="fill_parent"    
  36.            android:layout_height="fill_parent">   
  37.            <Button   
  38.               android:text="Next"    
  39.               android:id="@+id/Button_next2"  
  40.               android:layout_width="fill_parent"    
  41.               android:layout_height="wrap_content">   
  42.            </Button>   
  43.            <ImageView   
  44.               android:id="@+id/image2"    
  45.               android:src="@drawable/lg"  
  46.               android:layout_width="fill_parent"  
  47.               android:layout_height="wrap_content">   
  48.            </ImageView>   
  49.        </LinearLayout>   
  50.           
  51.        <LinearLayout   
  52.            android:orientation="vertical"  
  53.            android:layout_width="fill_parent"    
  54.            android:layout_height="fill_parent">   
  55.            <Button   
  56.               android:text="Next"    
  57.               android:id="@+id/Button_next3"  
  58.               android:layout_width="fill_parent"    
  59.               android:layout_height="wrap_content">   
  60.            </Button>   
  61.            <ImageView   
  62.               android:id="@+id/image3"    
  63.               android:src="@drawable/lenovo"  
  64.               android:layout_width="fill_parent"  
  65.               android:layout_height="wrap_content">   
  66.            </ImageView>   
  67.        </LinearLayout>   
  68.     
  69.     </ViewFlipper>   
  70.     
  71. </LinearLayout>  
 
很简单,在Layout定义中指定动画的相关属性就可以了,通过persistentDrawingCache指定缓存策略;flipInterval指定每个View动画之间的时间间隔;inAnimation和outAnimation分别指定View进出使用的动画效果。动画效果定义如下:
  1. res/anim/push_left_in.xml   
  2. <?xml version="1.0" encoding="utf-8"?>   
  3. <set xmlns:android="http://schemas.android.com/apk/res/android">   
  4.     <translate   
  5.     android:fromXDelta="100%p"    
  6.     android:toXDelta="0"    
  7.     android:duration="500"/>   
  8.     <alpha   
  9.     android:fromAlpha="0.0"    
  10.     android:toAlpha="1.0"  
  11.     android:duration="500" />   
  12. </set>   
  13. res/anim/push_left_out.xml   
  14. <?xml version="1.0" encoding="utf-8"?>   
  15. <set xmlns:android="http://schemas.android.com/apk/res/android">   
  16.     <translate   
  17.     android:fromXDelta="0"    
  18.     android:toXDelta="-100%p"    
  19.     android:duration="500"/>   
  20.     <alpha   
  21.     android:fromAlpha="1.0"    
  22.     android:toAlpha="0.0"    
  23.     android:duration="500" />   
  24. </set>  

 

Activity代码如下(src/cc/c/TestActivity.java):
  1. public class TestActivity extends Activity {   
  2.     private ViewFlipper mViewFlipper;   
  3.     @Override  
  4.     public void onCreate(Bundle savedInstanceState) {   
  5.         super.onCreate(savedInstanceState);   
  6.         setContentView(R.layout.main);   
  7.            
  8.         Button buttonNext1 = (Button) findViewById(R.id.Button_next1);   
  9.         mViewFlipper = (ViewFlipper) findViewById(R.id.flipper);   
  10.         buttonNext1.setOnClickListener(new View.OnClickListener() {   
  11.             public void onClick(View view) {   
  12.                 //在layout中定义的属性,也可以在代码中指定   
  13. //             mViewFlipper.setInAnimation(getApplicationContext(), R.anim.push_left_in);   
  14. //             mViewFlipper.setOutAnimation(getApplicationContext(), R.anim.push_left_out);  
  15. //             mViewFlipper.setPersistentDrawingCache(ViewGroup.PERSISTENT_ALL_CACHES);   
  16. //             mViewFlipper.setFlipInterval(1000);   
  17.                 mViewFlipper.showNext();   
  18.                 //调用下面的函数将会循环显示mViewFlipper内的所有View。   
  19. //             mViewFlipper.startFlipping();   
  20.         }   
  21.         });   
  22.     
  23.         Button buttonNext2 = (Button) findViewById(R.id.Button_next2);   
  24.         buttonNext2.setOnClickListener(new View.OnClickListener() {   
  25.             public void onClick(View view) {   
  26.                 mViewFlipper.showNext();   
  27.         }   
  28.     
  29.         });      
  30.         Button buttonNext3 = (Button) findViewById(R.id.Button_next3);   
  31.         buttonNext3.setOnClickListener(new View.OnClickListener() {   
  32.             public void onClick(View view) {   
  33.                 mViewFlipper.showNext();   
  34.         }   
  35.     
  36.         });   
  37.     
  38.     }   
  39.     }  
通过手势移动屏幕
上面是通过屏幕上的按钮来在屏幕间切换的,这看起来多少有点不符合 OPhone的风格,如果要是能通过手势的左右滑动来实现屏幕的切换就比较优雅了。
通过 android.view.GestureDetector类可以检测各种手势事件,该类有两个回调接口分别用来通知具体的事件:
 
GestureDetector.OnDoubleTapListener:用来通知 DoubleTap事件,类似于鼠标的双击事件,该接口有如下三个回调函数:
 
1.   onDoubleTap(MotionEvent e):通知 DoubleTap手势,
2.   onDoubleTapEvent(MotionEvent e):通知 DoubleTap手势中的事件,包含down、up和move事件(这里指的是在双击之间发生的事件,例如在同一个地方双击会产生DoubleTap手势,而在DoubleTap手势里面还会发生down和up事件,这两个事件由该函数通知);
3.   onSingleTapConfirmed(MotionEvent e):用来判定该次点击是 SingleTap而不是DoubleTap,如果连续点击两次就是DoubleTap手势,如果只点击一次,OPhone系统等待一段时间后没有收到第二次点击则判定该次点击为SingleTap而不是DoubleTap,然后触发SingleTapConfirmed事件。
GestureDetector.OnGestureListener:用来通知普通的手势事件,该接口有如下六个回调函数:
1.   onDown(MotionEvent e): down事件;
2.   onSingleTapUp(MotionEvent e):一次点击 up事件;
3.   onShowPress(MotionEvent e): down事件发生而move或则up还没发生前触发该事件;
4.   onLongPress(MotionEvent e):长按事件;
5.   onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY):滑动手势事件;
6.   onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY):在屏幕上拖动事件。
 
这些事件有些定义的不太容易理解,在示例项目中实现了所有的回调函数,在每个函数中输出相关的日志,对这些事件不理解的可以运行项目,通过不同的操作来触发事件,然后观看 logcat输出日志可有助于对这些事件的理解。
 
在上述事件中,如果在程序中处理的该事件就返回 true否则返回false,在GestureDetector中也定义了一个SimpleOnGestureListener类,这是个助手类,实现了上述的所有函数并且都返回false。如果在项目中只需要监听某个事件继承这个类可以少些几个空回调函数。
 
要走上面的程序中添加滑动手势来实现屏幕切换的话,首先需要定义一个GestureDetector:
private GestureDetector mGestureDetector;
 
并在onCreate函数中初始化:
mGestureDetector =  new GestureDetector( this);
 
参数是OnGestureListener,然后让TestActivity实现 OnGestureListener 和OnDoubleTapListener接口:
 
 
  1. class TestActivity extends Activity implements OnGestureListener , OnDoubleTapListener  
然后在onFling函数中实现切换屏幕的功能:
  1. public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,   
  2.            float velocityY) {   
  3.        Log.d(tag, "...onFling...");   
  4.        if(e1.getX() > e2.getX()) {//move to left   
  5.            mViewFlipper.showNext();   
  6.        }else if(e1.getX() < e2.getX()) {   
  7.            mViewFlipper.setInAnimation(getApplicationContext(), R.anim.push_right_in);   
  8.            mViewFlipper.setOutAnimation(getApplicationContext(), R.anim.push_right_out);   
  9.            mViewFlipper.showPrevious();   
  10.            mViewFlipper.setInAnimation(getApplicationContext(), R.anim.push_left_in);   
  11.            mViewFlipper.setOutAnimation(getApplicationContext(), R.anim.push_left_out);   
  12.        }else {   
  13.            return false;   
  14.        }   
  15.        return true;   
  16.     }  
 
这里实现的功能是从右往左滑动则切换到上一个View,从左往右滑动则切换到下一个View,并且使用不同的in、out 动画使切换效果看起来统一一些。
然后在onDoubleTap中实现双击自动切换的效果,再次双击则停止:
   
  1. public boolean onDoubleTap(MotionEvent e) {   
  2.        Log.d(tag, "...onDoubleTap...");   
  3.        if(mViewFlipper.isFlipping()) {   
  4.            mViewFlipper.stopFlipping();   
  5.        }else {   
  6.            mViewFlipper.startFlipping();   
  7.        }   
  8.        return true;   
  9.     }  
 
到这里手势代码就完成了,现在可以通过左右滑动切换View并且双击可以自动切换View。细心的读者这里可能会发现一个问题,上面在创建mGestureDetector 的时候使用的是如下代码:
mGestureDetector =  new GestureDetector( this);
 
这里的参数为OnGestureListener,而且GestureDetector有个函数setOnDoubleTapListener来设置OnDoubleTapListener,在上面的代码中并没有设置OnDoubleTapListener,那么onDoubleTap事件是如何调用的呢?这里的玄机就要去探探 GestureDetector(OnGestureListener l)这个构造函数的源代码了:
  1.     public GestureDetector(OnGestureListener listener) {   
  2.         this(null, listener, null);   
  3. }  
 
调用了另外一个构造函数:
   
  1. public GestureDetector(Context context, OnGestureListener listener, Handler handler) {   
  2.        if (handler != null) {   
  3.            mHandler = new GestureHandler(handler);   
  4.        } else {   
  5.            mHandler = new GestureHandler();   
  6.        }   
  7.        mListener = listener;   
  8.        if (listener instanceof OnDoubleTapListener) {   
  9.            setOnDoubleTapListener((OnDoubleTapListener) listener);   
  10.        }   
  11.        init(context);   
 
注意到listener  instanceof OnDoubleTapListener没有?现在明白了吧。

 

 

【Android笔记108】Android之翻转视图组件ViewFlipper的使用 ViewFlipper是一个位于android.widget包下的翻转视图组件,它继承自ViewAnimator,所以ViewFlipper组件是具备动画效果的,例如:使用ViewFlipper可以实现轮播图的效果。ViewFlipper可以有两种使用方式,分别是:静态导入组件、动态导入组件。静态导入组件就是在XML布局文件中,直接将其他的XML导入到ViewFlipper组件;动态导入是在程序的运行过程中,通过Java代码动态的添加组件。 阅读详情

相关推荐

Android ViewFlipper的简单使用

大家都使用过ViewPager,但是ViewPager还有一个兄弟,那就是ViewFlipper。两者的名字非常相似,我们可以将ViewPager理解成“一页一页的视图”,ViewFlipper则是“快速翻转的视图”,但后者的使用率却远不及前者,不过这并不意味着ViewFlipper就弱了。现在我们就来拜访一下经常被冷落的ViewFlipper。 1、创建工程及页面视图布局 在Android Studio中新建一个工程,实现这样一个效果:创建红、橙、绿、蓝四种颜色的页面,然后通过ViewFlipper让它们来回切换。四个页面布局文件的名称如下所示: item_view1.xml的代码如下:

Android之ViewFlipper使用详解

ViewFlipper的介绍和使用 ViewFlipper是Android自带的一个多页面管理控件,且可以自动播放! 和ViewPager不同,ViewPager是一页页的,而ViewFlipper则是一层层的,和ViewPager一样,很多时候, 用来实现进入应用后的引导页,或者用于图片轮播。 一、常用的属性和方法 属性: android:inAnimation //设置View或ImageView进入屏幕时使用的动画 android:outAnimation //设置View或ImageVie

Mq_sir的博客 1万+

FSL软件安装

FSL软件安装

huang_tianyuan的博客 2631

Android 之 ViewFlipper (翻转视图)的基本使用

本节给大家带了的是ViewFlipper,它是Android自带的一个多页面管理控件,且可以自动播放!1.这里我们通过动态的方法添加View,这里只是简单的ImageView,可根据自己需求进行扩展!后来发现,模拟器上因为是鼠标的关系,并不会频繁的抖动,而真机上,因为手指一直是颤抖的 所以ACTION_MOVE会一直触发,然后View一直切换,后来考虑了。//自定义一个GestureListener,这个是View类下的,别写错哦!//动态导入添加子View。通过addView方法填充View。

leyang0910的博客 1632

Qi标准下的充电协议及其记忆技巧

记忆无线充电协议中的。

m0_73991989的博客 1320

VMware Workstation Pro 16 安装 Ubuntu 20.04

VMware Workstation Pro 16 安装 ubuntu 20.04目录环境VMware Workstation下载Ubuntu 20.04下载安装过程 目录 环境 Windows 10 Workstation 16 Pro for Windows Ubuntu 20.04 LTS 64位 desktop版本 VMware Workstation下载 链接: https://www.vmware.com/products/workstation-pro/workstation-pro-eval

qq_45642410的博客 1万+

Android ViewFlipper 使用

ViewFlipper 与 ViewPager类似,也是实现视图之间切换的控件。与ViewPager的不同在于,他可以按时间自动切换,但是他本身不支持手势滑动。

M家杰的博客 4459

stm32驱动NRF24L01_原理+代码解析

NRF24L01是NORDIC公司生产的一款无线通信通信芯片,采用FSK 调制,集成NORDIC自家的Enhanced Short Burst协议。可以实现点对点或是1对6的无线通信。无线通信速度最高可达到2Mbps。①2.4G全球开放的ISM频段,免许可证使用。②最高工作速率2Mbps,高校的GFSK调制,抗干扰能力强。③126个可选的频道,满足多点通信和调频通信的需要。④内置CRC检错和点对多点的通信地址控制。⑤可设置自动应答,确保数据可靠传输。//NRF24L01寄存器操作命令。

zyc18700766982的博客 2万+

ViewFlipper

ViewFlipper是一个用来展示view的控件, 逻辑上它有一些child view,同一时间只显示一个, 可以自动切换。 效果上比如child view是ImageView,那么它每隔一段时间可以自动换图,显示下一个ImageView。 xml属性 android:autoStart 布尔值,true为自动切换,默认false android:flipInterval 整数值,

new_xd的成长之路 839

【Qualcomm高通音频】如何封装音频控件?

音频代码涉及面很广,这篇文档介绍如何封装音频控件给HAL层使用。这里以AW87519芯片调试为例进行介绍封装音频控件和使用的方法。在最初接出到高通音频基础功能调试的时候,都是从tinyalsa指令/mixer_paths文件配置开始。因为单独一个音频设备的调试,都对应一条音频链路的打通。比如以下链接上高通平台基础音频输入输出设备调试: 【Qualcomm音频】Speaker 调试记录http...

crow_ch的博客 1955

构建自己的 Qt 插件系统

Qt 本身提供了插件相关的技术,但并没有提供一个通用的插件框架!倘若要开发一个较大的 GUI 应用程序,并希望使其可扩展,那么拥有这样一个插件框架无疑会带来很大的好处。

青春不老,奋斗不止! 2万+

ViewFlipper 的简单使用

今天有个朋友问我怎么实现首页咨询滚动效果。如图: 哥们当场就推荐了最简单的方法——ViewFlipper,然后第二天早上一上班朋友说没搞懂怎么用的,吧啦吧啦的。。。废话不多说了,直接上使用方法,坚定不移三步走。 一、先设置进出口动画样式: 1、设置进口动画 come_in.xml: &lt;set xmlns:android="http://schemas.android.com/a...

baidu_36600645的博客 4870

013 PID参数整定:Ziegler-Nichols法

几年前在调试一台伺服压机,客户要求位置精度±0.01mm,响应时间小于50ms。我按照教科书上的经验值设了P=1.5,I=0.02,D=0.01,结果电机一启动就开始尖叫,位置超调直接干到0.3mm,然后开始震荡,像极了喝醉的舞者。现场工程师看我的眼神,就像在看一个刚毕业的实习生。那次之后我明白了一个道理:PID参数不是靠猜的,也不是靠经验公式硬套的。你需要一个系统的方法,而Ziegler-Nichols法就是那个让你从“瞎调”走向“有章可循”的起点。

m0_50546716的博客 101

ViewFlipper使用详解

前言:今天,试用期绩效考核通过了,从C++转到android还是很有难度的,这几个月来虽然一直在学习,但相比他们还是差很多,没关系,没有人是一下生就会的,知识总是慢慢积累出来的,只是不停下来,总有一天会到达彼岸,我相信,我能行! 梦想还是要有的,万一实现了呢——阿里IPO 一、基本实现 ViewFlipper是一个切换控件,一般用于图片的切换,当然它是可以添加View的,而不限定...

启舰 3万+

STM32实战开发(150):基于STM32的智能电力负荷控制系统开发

本文介绍了基于STM32的智能电力负荷控制系统的设计与实现,涵盖了硬件设计、软件设计、负荷预测与控制等多个方面。该系统能够实时监控电力负荷,预测未来负荷变化,并根据预测结果自动调节电力负荷,防止电网过载或浪费。未来,我们可以进一步优化该系统,加入更多的传感器数据,提升预测算法的精度,并结合大数据与云计算技术实现更为强大的远程控制与数据分析功能。

2201_76125393的博客 714

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

转化屏幕•ViewFlipper 的使用

转化屏幕•ViewFlipper 的使用文章分类:移动开发 res/layout/main.xml Java代码 <a title="复制代码" onclick="function onclick(){dp.sh.Toolbar.CopyToClipboard(this);return false;}" href="http://wang-peng1.javae

星际之旅 1309

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Android之ViewFlipper的简单使用

大家都使用过ViewPager,但是ViewPager还有一个兄弟,那就是ViewFlipper。两者的名字非常相似,我们可以将ViewPager理解成“一页一页的视图”,ViewFlipper则是“快速翻转的视图”,但后者的使用率却远不及前者,不过这并不意味着ViewFlipper就弱了。现在我们就来拜访一下经常被冷落的ViewFlipper。1、创建工程及页面视图布局在Android Studi

Lindroid的博客 1425

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Android中ViewFlipper的使用详解

说到android的左右滑动效果我们可以说是在每个应用上面都可以看到这样的效果,不管是微博,还是QQ等。 实现左右滑动的方式很多,有ViewPager(不过这个和需要android-support-v4.jar的支持),自定义实现Viewgroup,gallery等都可以达到这种效果。这里主要是做下ViewFliper来实现左右滑动的效果。 ViewFlipper可以实现滑动ImageView

【博客地址迁移到】:https://zhengxiaoyong.com 5508

Android 中 ViewFlipper、AdapterViewFlipper使用

公告轮播效果,ViewFlipper、AdapterViewFlipper使用对比

周平的博客 3042

Viewflipper

对我一个学机械的小白来说,最近快一个月在优快云上学习到了好多东西,所以,想把学习到的东西再分享出来。我是想实现首页的图片自动轮播,刚开始搜到的方法都是用Viewpager,但是经过到处搜索,没成功。后来偶然在油管上发现一个方法,用Viewflipper。

qq_43510849的博客 238

Android中ViewFlipper的使用

看到一个程序员笔记里,有几句标语使用的是自动切换的模式,开始还以为做的是动画,看了源码才知道,使用的是ViewFlipper,在开发文档里,说的是简单的ViewAnimator ,使你添加的View动起来,在同一个时间只有一个View被展示出来,也可以设定好几个View轮流展示。 注意几个特别的设置就可以使用,android:flipInterval="2000",设置里面每一个View显示的时

Steffen的专栏 2万+
上一篇: 转 ::android多线程及异步问题 android异步处理 android多线程问题 android异步问题 android多线程处理
下一篇: 简述Android触摸屏手势识别
wayne512
博客等级 码龄17年 15粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值