Android ViewFlipper的详解

前言:
View Flipper,是ViewAnimator的子类,而ViewAnimator又是继承自FrameLayout,而FrameLayout就是平时基本上只显示一个子视图的布局,由于FrameLayout下不好确定子视图的位置,所以很多情况下子视图之前存在相互遮挡,这样就造成了很多时候我们基本上只要求FrameLayout显示一个子视图,然后通过某些控制来实现切换。正好,ViewFlipper帮我们实现了这个工作,我们需要做的就是,选择恰当的时机调用其恰当的方法即可
类结构
| 方法 | 意义 |
|---|---|
| startFlipping | 开始浏览 |
| stopFlipping | 停止浏览 |
| setFlipInterval | 设置View之间切换的时间间隔 |
| getAccessibilityClassName | 获取类名称 |
| isFlipping | 判断是否正在浏览 |
| setAutoStart | 设置是否自动开始浏览 |
| isAutoStart | 判断是否为自动开始浏览 |
基本使用
1. 动画定义
scalein.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:duration="1000"
android:fromXScale="0.2"
android:fromYScale="0.2"
android:toYScale="1"
android:toXScale="1"
android:pivotX="50%"
android:pivotY="50%"
>
</scale>
</set>
scaleout.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:duration="1000"
android:fromXScale="1"
android:fromYScale="1"
android:toYScale="0.2"
android:toXScale="0.2"
android:pivotX="50%"
android:pivotY="50%">
</scale>
</set>
2. 布局文件
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="jzfp.gs.com.animationdemo.MainActivity">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorPrimary"></android.support.v7.widget.Toolbar>
<!--渐入动画 和 渐出动画定义-->
<ViewFlipper
android:id="@+id/vf"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:inAnimation="@anim/scalein"
android:outAnimation="@anim/scaleout">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/one" />
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/two" />
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/three" />
</ViewFlipper>
</LinearLayout>
3. 左右滑动切换
public class MainActivity extends AppCompatActivity {
private ViewFlipper viewFlipper = null;
float PosX = 0, CurrentX = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setNavigationIcon(R.drawable.left);
setSupportActionBar(toolbar);//设置ActionBar
viewFlipper = (ViewFlipper) findViewById(R.id.vf);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
PosX = event.getX();
break;
case MotionEvent.ACTION_MOVE:
CurrentX = event.getX();
break;
case MotionEvent.ACTION_UP:
if (CurrentX - PosX > 25.0) {//向右滑动切换到上一页
viewFlipper.showPrevious();
} else if (CurrentX - PosX < -25.0) {//向左滑动,切换到下一页
viewFlipper.showNext();
}
}
return true;
}
}
实际效果
以上就是Android ViewFlipper的使用方法,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Android
# ViewFlipper
# ViewFlipper使用方法详解
# Android使用ViewFlipper实现图片切换功能
# Android ViewFlipper的简单使用
# Android ViewFlipper翻转视图使用详解
# Android ViewFlipper简单应用
# Android ViewFlipper用法实例分析
# 切换到
# 判断是否
# 又是
# 子类
# 下一页
# 上一页
# 如有
# 希望能
# 只显示
# 造成了
# 谢谢大家
# 来实现
# 上只
# 疑问请
# 实现了
# 平时
# 渐入
# apk
# xmlns
# set
相关文章:
如何选择最佳自助建站系统?快速指南解析优劣
建站三合一如何选?哪家性价比更高?
历史网站制作软件,华为如何找回被删除的网站?
学校为何禁止电信移动建设网站?
可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?
七夕网站制作视频,七夕大促活动怎么报名?
如何在IIS中新建站点并解决端口绑定冲突?
建站之星后台密码如何安全设置与找回?
红河网站制作公司,红河事业单位身份证如何上传?
XML的“混合内容”是什么 怎么用DTD或XSD定义
jQuery 常见小例汇总
道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?
如何在云主机快速搭建网站站点?
PHP正则匹配日期和时间(时间戳转换)的实例代码
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
大连网站设计制作招聘信息,大连投诉网站有哪些?
小程序网站制作需要准备什么资料,如何制作小程序?
C#如何使用XPathNavigator高效查询XML
简易网站制作视频教程,使用记事本编写一个简单的网页html文件?
济南企业网站制作公司,济南社保单位网上缴费步骤?
小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化
网站制作公司广州有几家,广州尚艺美发学校网站是多少?
网站微信制作软件,如何制作微信链接?
网站图片在线制作软件,怎么在图片上做链接?
高防服务器:AI智能防御DDoS攻击与数据安全保障
广州网站建站公司选择指南:建站流程与SEO优化关键词解析
如何配置IIS站点权限与局域网访问?
陕西网站制作公司有哪些,陕西凌云电器有限公司官网?
如何快速搭建高效简练网站?
如何快速搭建虚拟主机网站?新手必看指南
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
如何通过商城免费建站系统源码自定义网站主题?
如何选择域名并搭建高效网站?
如何用y主机助手快速搭建网站?
建站之星备案流程有哪些注意事项?
如何使用Golang table-driven基准测试_多组数据测量函数效率
成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
弹幕视频网站制作教程下载,弹幕视频网站是什么意思?
如何基于云服务器快速搭建网站及云盘系统?
微课制作网站有哪些,微课网怎么进?
建站上市公司网站建设方案与SEO优化服务定制指南
宝塔建站教程:一键部署配置流程与SEO优化实战指南
如何获取PHP WAP自助建站系统源码?
海南网站制作公司有哪些,海口网是哪家的?
h5网站制作工具有哪些,h5页面制作工具有哪些?
c# 服务器GC和工作站GC的区别和设置
建站之星北京办公室:智能建站系统与小程序生成方案解析
,柠檬视频怎样兑换vip?
*请认真填写需求信息,我们会在24小时内与您取得联系。