全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android ViewFlipper的详解及实例

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小时内与您取得联系。