android 翻转切换view,Android ViewFlipper翻转视图使用详解

简介

ViewFlipper是Android自带的一个多页面管理控件且可以自动播放!它和ViewPager有所不同,ViewPager继承自ViewGroup,是一页一页的,可以带动画效果,可以兼容低版本;而ViewFlipper继承ViewAnimator,是一层一层的,切换View的时候可以设置动画效果,是Android 4.0才引入的新控件。使用场景和ViewPager基本一样,在很多时候都是用来实现进入应用后的引导页或者用于图片轮播显示。

常用方法

setInAnimation:View进入屏幕时使用动画;

setOutAnimation:View退出屏幕时使用动画;

showNext:显示ViewFlipper里的下一个View视图;

showPrevious:显示ViewFlipper里的上一个View视图;

setFlipInterval:View之间切换的时间间隔;

setAutoStart:是否可以自动播放,true为自动播放,false为不自动播放;

startFlipping:自动循环切换播放;

stopFlipping:停止自动切换播放;

ViewFlipper加入View的两种方法

1.静态导入

所谓的静态导入就是像以下方式那样,将一个个页面添加到ViewFlipper的中间!

android:id="@+id/vf_help"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:flipInterval="3000"

android:inAnimation="@anim/right_in"

android:outAnimation="@anim/right_out">

2.动态导入

所谓的动态导入就是像以下方式那样,通过addView方法填充View!

mVfHelp = (ViewFlipper) findViewById(R.id.vf_help);

for (int i = 0; i < resId.length; i++) {

mVfHelp.addView(getImageView(resId[i]));

}

使用示例

效果图:

9a0afbfebaf11a1565fe68d1903c449c.png

使用ViewFlipper实现图片轮播 - 静态导入

切换动画:

1.right_in.xml

android:duration="1000"

android:fromXDelta="100%p"

android:toXDelta="0" />

2.right_out.xml

android:duration="1000"

android:fromXDelta="0"

android:toXDelta="-100%p" />

布局文件:

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical">

android:id="@+id/vf_help"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:flipInterval="3000"

android:inAnimation="@anim/right_in"

android:outAnimation="@anim/right_out">

Java文件调用:

public class MethodOneActivity extends BaseActivity {

private ViewFlipper mVfHelp;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_method_one);

mVfHelp = (ViewFlipper) findViewById(R.id.vf_help);

mVfHelp.startFlipping();

}

}

支持手势滑动的ViewFlipper - 动态导入

切换动画:

1.left_in.xml

android:duration="1000"

android:fromXDelta="-100%p"

android:toXDelta="0" />

2.left_out.xml

android:duration="1000"

android:fromXDelta="0"

android:toXDelta="100%p" />

布局文件:

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical">

android:id="@+id/vf_help"

android:layout_width="match_parent"

android:layout_height="match_parent" />

Java文件调用:

private void initData() {

//实例化SimpleOnGestureListener与GestureDetector对象

mgListener = new MyGestureListener();

mDetector = new GestureDetector(mActivity, mgListener);

//动态添加子View

for (int i = 0; i < resId.length; i++) {

mVfHelp.addView(getImageView(resId[i]));

}

}

/**

* @Description 重写onTouchEvent触发MyGestureListener里的方法

*/

@Override

public boolean onTouchEvent(MotionEvent event) {

return mDetector.onTouchEvent(event);

}

/**

* @Description 自定义一个View类下的GestureDetector

*/

private class MyGestureListener extends GestureDetector.SimpleOnGestureListener {

@Override

public boolean onFling(MotionEvent e1, MotionEvent e2, float v, float v1) {

if (e1.getX() - e2.getX() > MIN_MOVE) {

mVfHelp.setInAnimation(mActivity, R.anim.right_in);

mVfHelp.setOutAnimation(mActivity, R.anim.right_out);

mVfHelp.showNext();

} else if (e2.getX() - e1.getX() > MIN_MOVE) {

mVfHelp.setInAnimation(mActivity, R.anim.left_in);

mVfHelp.setOutAnimation(mActivity, R.anim.left_out);

mVfHelp.showPrevious();

}

return true;

}

}

项目地址 ☞ 传送门

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/573218.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

拓扑学初步

拓扑&#xff08;Topology&#xff09;原本是一个数学概念&#xff0c;描述的是几何图形或空间在连续改变形状后还能保持不变的性质。2016 年度的诺贝尔物理学奖颁给的三位物理学家&#xff0c;正是凭借他们在物理学中引入了拓扑的概念。0. 基本概念 & 定义 同胚&#xff1…

android 京东白条支付,京东网银钱包安卓版上线:整合京东白条和小金库

京东金融网银钱包移动版上线 京东账号可直接登录【TechWeb报道】4月1日消息&#xff0c;京东金融今日宣布网银钱包客户端正式在Android平台上线。网银钱包客户端近期也将登录苹果应用商店&#xff0c;用户使用京东账号将可以直接登录。据悉&#xff0c;网银钱包客户端是京东金融…

JSP知识点大致介绍1

解释&#xff1a;当jsp写好&#xff0c;运行服务器&#xff0c;还没有发出请求&#xff08;写网址按Enter&#xff09;&#xff0c;Tomcat的work下是没有字节码文件的。当写网址&#xff1a;localhost&#xff1a;8888/xxxx/index.jsp按Enter,运行后work下就有字节码文件了&…

发一则自己创作的Lae程序员小漫画,仅供一乐

转载于:https://www.cnblogs.com/aaqxhaa1979/p/5817650.html

Material Design控件使用学习 toolbar+drawerlayout+ Snackbar

效果 1.,导包design包和appcompat-v7 &#xff0c;设置Theme主题Style为NoActionbar 2.custom_toolbar.xml <?xml version"1.0" encoding"utf-8"?><android.support.v7.widget.Toolbar xmlns:android"http://schemas.android.com/apk/res/…

使用渐进式JPEG来提升用户体验

今天才认识到原来JPEG文件有两种保存方式他们分别是Baseline JPEG&#xff08;标准型&#xff09;和Progressive JPEG&#xff08;渐进式&#xff09;。两种格式有相同尺寸以及图像数据&#xff0c;他们的扩展名也是相同的&#xff0c;唯一的区别是二者显示的方式不同。 Baseli…

html英文读法,classin读音发音 classln英文怎么读?

classln英文怎么读?class in 读音&#xff1a; [klɑːs] [ɪn] class英 [klɑːs] 美 [kls] in英 [ɪn] 美 [ɪn] 重点词汇&#xff1a; class英 [klɑːs] 美 [kls] n. 等级&#xff1b;阶级&#xff1b;阶层&#xff1b;班级&#xff1b;课&#xff1b;v. 分类 过去式: cla…

季度报告 选择日期_易方达富惠纯债债券型证券投资基金 2018年第4季度报告

2018年12月31日基金管理人&#xff1a;易方达基金管理有限公司基金托管人&#xff1a;中国银行股份有限公司报告送出日期&#xff1a;二一九年一月二十二日1 重要提示基金管理人的董事会及董事保证本报告所载资料不存在虚假记载、误导性陈述或重大遗漏&#xff0c;并对其内容…

iscsi 同步_群晖六盘位旗舰NAS,一文教你如何解决多设备同步,跨平台协调

作为一名非专业后期狗来讲&#xff0c;一直以来在多设备以及不同平台间的数据同步&#xff0c;协同上都想尽了各种办法。众所周知&#xff0c;对于剪辑师来讲。对于工作平台都会有自己的偏好&#xff0c;比如有老师傅会喜欢Adobe的PR作为剪辑软件&#xff0c;90后的年轻人又觉得…

计算机内图标wps云盘怎么去掉,Win10资源管理器WPS云文档图标如何清除

如果用户在Windows10系统中安装了WPS办公软件的话&#xff0c;那么资源管理器中就会自动生成WPS云文档图标。一些用户觉得这样很占用空间&#xff0c;就希望该将其彻底删除。该如何操作呢&#xff1f;接下来&#xff0c;就随小编一起看看具体步骤吧&#xff01;具体如下&#x…

englishpod主持人对话文本_Englishpod 23 | 主持人文本讲解

本期主持人对话中的主要语言知识点如下&#xff1a;泛听&#xff1a;建议请先听了录音&#xff0c;没听清的&#xff0c;再对照看文本本期知识点&#xff1a;1&#xff0c;Vocabulary preview(词汇预览)&#xff1a;(1) financial adviser 2&#xff0c;Language takeaway(语言…

计算机桌面上的声音图标没了怎么办,Win7电脑右下角声音图标不见了怎么办?...

最近有Win7用户反映&#xff0c;电脑右下角的声音图标总是莫名其妙的不见了&#xff0c;导致用户要调整音量的时候不知道从哪调整&#xff0c;这让用户非常烦恼。那么&#xff0c;Win7电脑右下角声音图标不见了怎么办呢&#xff1f;下面&#xff0c;我们就一起往下看看Win7电脑…

计算机学院足球队 英语怎么说,计算机学院举办2018届毕业生足球赛

计算机学院举办2018届毕业生足球赛当下又到了毕业季&#xff0c;2018届的本科同学们即将离开校园&#xff0c;开启人生新的阶段&#xff0c;在此背景下由共青团西北工业大学计算机学院委员会主办&#xff0c;10011508团支部、计算机学院体工部承办这一次毕业生足球赛。本次比赛…

道指mt4代码_道恩转债上市首日遭大股东清仓式减持!

今天市场震荡上行&#xff0c;通过时间的磨合和空间的震荡来判断多空力量&#xff0c;消耗短期多空力量&#xff0c;聚合中长期多空能量并逐渐选择方向。今天上证指数领涨&#xff0c;涨幅为3.11%&#xff0c;创业板指表现稍弱&#xff0c;涨幅1.31%。转债指数表现也不错&#…

(一)选择排序之一:堆排序

选择排序学过的有三种&#xff1a;简单选择排序、树形选择排序、堆排序 今天先来简单的了解一下堆排序&#xff1a; 完全二叉树&#xff0c;即从头到尾&#xff0c;从左到右依次排序&#xff0c;符合大堆&#xff08;小堆&#xff09;都行&#xff0c;即ki>k2i && k…

html百分比代码怎么写,参考Bootstrap写的一个带百分比的进度条(附源码)

最近需要写一个进度条的效果&#xff0c;网上找了一些&#xff0c;但都不能完美的实现需求。于是就自己改造了一个&#xff0c;效果如下图&#xff1a;因为动态图太大&#xff0c;我上传到 GitHub 了&#xff0c;就不在博客上再上传了。百分比跟随进度条移动&#xff0c;百分比…

认识css

css css样式:css是英文Cascading Style Sheets的缩写,称为层叠样式表&#xff0c;用于对页面进行美化&#xff0c;CSS的可以使页面更加的美观。基本上所有的html页面都或多或少的使用css。存在方式有三种&#xff1a;元素内联、页面嵌入和外部引入 语法&#xff1a;style key1…

利用计算机找出函数关系式,使用 CHOOSE 查找函数中类似于表的信息 - Excel公式函数运用大全...

本文介绍 Microsoft Excel 中 CHOOSE 函数的公式语法和用法。说明使用 index_num 返回数值参数列表中的数值。 使用 CHOOSE 可以根据索引号从最多 254 个数值中选择一个。 例如&#xff0c;如果 value1 到 value7 表示一周的 7 天&#xff0c;那么将 1 到 7 之间的数字用作 ind…

计算机三级数据库2020年试题,2020年计算机三级数据库考试模拟强化试题及答案...

【导语】“数据库技术”科目考核数据库系统基础知识及数据库应用系统项目开发和维护的基本技能&#xff0c;下文是无忧考网为您搜集整理的2020年计算机三级数据库考试模拟强化试题及答案&#xff0c;有需要的考生不妨多多参考一下我们为您分享的内容。1.数据集成是数据仓库建立…

1562区别 洛达1552_洛达1562A与洛达1536u与杰里有哪些区别呢?

由于上一篇文章&#xff0c;有很多人问我有什么区别&#xff0c;怎么判断是1562a以及铂金标anc以及芯片之间的差距等等有关问题&#xff0c;今天特意给大家写下这篇文章&#xff0c;废话就不多说了&#xff0c;大家看接下来的文章吧&#xff01;。相信大家应该对AirPodspro已经…