ViewFlipper的功能和用法
ViewFlipper组件继承了ViewAnimator,它可以调用addView(View v)添加多个组件向ViewFlipper中添加多个组件之后,ViewFlipper可使用动画控制多个组件之间的切换效果
ViewAnimator是一个基类,它继承的是FrameLayout,因此可以将多个View组件“叠加”在一起,ViewAnimator额外增加的功能就是可以在View切换时表现出动画效果。
ViewFlipper继承了ViewAnimation,额外增加的新功能如下:
eg.自动播放的图片库
acitivity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context="com.example.viewflippertest.MainActivity" ><!-- ViewFlipper组件,放了三个ImageView组件--><ViewFlipperandroid:id="@+id/viewFlipper1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_alignParentTop="true"android:layout_marginLeft="80dp"android:layout_marginTop="34dp"android:flipInterval="1000" ><ImageViewandroid:id="@+id/imageView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/bomb10" /><ImageViewandroid:id="@+id/imageView2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/bomb11" /><ImageViewandroid:id="@+id/imageView3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/bomb12" /></ViewFlipper><Buttonandroid:id="@+id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_centerVertical="true"android:layout_marginLeft="32dp"android:onClick="prev"android:text="<" /><Buttonandroid:id="@+id/button2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerVertical="true"android:layout_toRightOf="@+id/button1"android:onClick="auto"android:text="Auto" /><Buttonandroid:id="@+id/button3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignBaseline="@+id/button2"android:layout_alignBottom="@+id/button2"android:layout_toRightOf="@+id/button2"android:onClick="next"android:text=">" /></RelativeLayout>
MainActvity.java
package com.example.viewflippertest;import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ViewFlipper;public class MainActivity extends Activity {ViewFlipper cf;//ViewFlipper对象@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);cf=(ViewFlipper) findViewById(R.id.viewFlipper1);}//响应按钮函数public void prev(View v){cf.setInAnimation(this,R.anim.slide_in_right);cf.setOutAnimation(this,R.anim.slide_out_left);cf.showPrevious();//停止切换cf.stopFlipping();};//响应按钮函数public void auto(View v){cf.setInAnimation(this,R.anim.slide_in_right);cf.setOutAnimation(this,R.anim.slide_out_left);cf.startFlipping();};//响应按钮函数public void next(View v){cf.setInAnimation(this,R.anim.slide_in_left);cf.setOutAnimation(this,R.anim.slide_out_right);cf.showNext();//停止切换cf.stopFlipping();};@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// Handle action bar item clicks here. The action bar will// automatically handle clicks on the Home/Up button, so long// as you specify a parent activity in AndroidManifest.xml.int id = item.getItemId();if (id == R.id.action_settings) {return true;}return super.onOptionsItemSelected(item);}
}
slide_in_left.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"><!-- 设置从左边拖进来的动画android:duration指定动画持续时间 --><translateandroid:fromXDelta="-100%p"android:toXDelta="0"android:duration="@android:integer/config_mediumAnimTime" />
</set>
slide_in_right.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"><!-- 设置从右边拖进来的动画android:duration指定动画持续时间 --><translateandroid:fromXDelta="100%p"android:toXDelta="0"android:duration="@android:integer/config_mediumAnimTime" />
</set>
slide_out_left.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"><!-- 设置从左边拖出去的动画 android:duration指定动画持续时间 --><translateandroid:fromXDelta="0"android:toXDelta="-100%p"android:duration="@android:integer/config_mediumAnimTime" />
</set>
slide_out_right.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"><!-- 设置从左边拖出去的动画 android:duration指定动画持续时间 --><translateandroid:fromXDelta="0"android:toXDelta="100%p"android:duration="@android:integer/config_mediumAnimTime" />
</set>
ViewFlipper的功能和用法相关推荐
- 数值选择器(NumberPicker)的功能与用法
数值选择器用于让用户输入数值,用户既可以通过键盘输入数值,也可以通过拖动来选择数值.使用该组件常用如下三个方法. setMinValue(int minVal):设置该组件支持的最小值. set ...
- Javascript自定义事件功能与用法实例分析
原文地址:https://www.jb51.net/article/127776.htm 本文实例讲述了javascript自定义事件功能与用法.分享给大家供大家参考,具体如下: 概述 自定义事件很难 ...
- trait功能 php,PHP之Trait功能与用法实例分析
本文实例讲述了PHP Trait功能与用法.分享给大家供大家参考,具体如下: Trait 是为类似 PHP 的单继承语言而准备的一种代码复用机制. 1.如果引入的Trait有同名的方法trait A{ ...
- mysql中外键的作用是什么_mysql外键基本功能与用法详解
本文实例讲述了mysql外键基本功能与用法.分享给大家供大家参考,具体如下: 本文内容: 什么是外键 外键的增加 外键的修改和删除 外键的约束模式 首发日期:2018-04-12 什么是外键: 外键就 ...
- Delphi Format函数功能及用法详解
DELPHI中Format函数功能及用法详解 DELPHI中Format函数功能及用法详解function Format(const Format: string; const Args: array ...
- php 反射对象属性,php面向对象之反射功能的用法详解
这篇文章主要介绍了php面向对象之反射功能与用法,结合实例形式简单分析了php5面向对象反射的概念及具体用法,需要的朋友可以参考下 本文实例讲述了php面向对象之反射功能与用法.分享给大家供大家参考, ...
- python中sys用法_Python中sys模块功能与用法实例详解
Python中sys模块功能与用法.,具体如下: sys-系统特定的参数和功能 该模块提供对解释器使用或维护的一些变量的访问,以及与解释器强烈交互的函数.它始终可用. sys.argv 传递给Pyth ...
- Android学习笔记 2.5.3 实例——使用SimpleAdapter创建ListView 2.5.4 自动完成文本框(AutoCompleteTextView)的功能与用法
Android学习笔记 疯狂Android讲义 文章目录 Android学习笔记 疯狂Android讲义 第2章 Android 应用的界面编程 2.5 第4组 UI组件:AdapterView及其子 ...
- java正则 环视_Java正则环视和反向引用功能与用法详解
本文实例讲述了Java正则环视和反向引用功能与用法.分享给大家供大家参考,具体如下: 环视 1.环视概念 环视,又称为零宽断言,简称断言. 环视强调位置(前面或后面),必须匹配环视表达式,才能匹配成功 ...
最新文章
- [原创]Java性能优化权威指南读书思维导图
- 为什么要学习 Markdown?究竟有什么用?
- 如何搭建数据中台?行业AI独角兽:一手AI,一手Know-How
- linux vi/vim使用
- mysql5.0锁定用户_MySQL系列(五)---总结MySQL中的锁
- inventor2019有无CAE_Inventor2019最新下载_Inventor2019正式版 - 软件帝
- 网站的基本功能:RBAC
- IBM X3650 M4 服务器
- Destoon数据库配置文件在哪_SpringBoot中yml配置文件说明和一些常用配置项说明
- QT开发pjsip的VOIP,A8平台运行
- [RN] React Native 使用 Redux 比较详细和深刻的教程
- 如何用maven创建java项目_Maven创建Java项目
- Python:实现sha256算法(附完整源码)
- 金蝶K3 Wise—BOM批量多级展开
- SAP-如何学好SAP BASIS
- 玩转代码|简单分析如何获取小程序的t值
- matlab:pause命令
- c语言浮点常量,C 浮点常量
- gps+wifi+mobile 5的手机参数对比
- HDU - 6578 Blank DP + 滚动数组