这里用到了前面学过的 手势效果,如果对手势还是不很了解的话可以去看一下这篇文章 Android使用GestureDetector实现手势滑动效果 先看一下布局文件 activity_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"
tools:context=".MainActivity" ><ViewFlipper
android:id="@+id/viewFlipper1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerVertical="true" ><LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ff000000"
android:orientation="vertical" >
</LinearLayout><LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffcccccc"
android:orientation="vertical" >
</LinearLayout><LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffff6600"
android:orientation="vertical" >
</LinearLayout>
</ViewFlipper></RelativeLayout>

布局文件很简单,在ViewFlipper中包含了三个布局,全部用背景颜色区分。 再看一下MainActivity.java

package com.example.viewflipper;import android.os.Bundle;
import android.app.Activity;
import android.view.GestureDetector;
import android.view.GestureDetector.OnGestureListener;
import android.view.Menu;
import android.view.MotionEvent;
import android.widget.Toast;
import android.widget.ViewFlipper;public class MainActivity extends Activity implements OnGestureListener {private GestureDetector mGestureDetector;
private ViewFlipper mViewFlipper = null;@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mGestureDetector = new GestureDetector(this, this);
mViewFlipper = (ViewFlipper) findViewById(R.id.viewFlipper1);
}@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
mGestureDetector.onTouchEvent(event);
return super.onTouchEvent(event);
}@Override
public boolean onDown(MotionEvent arg0) {
// TODO Auto-generated method stub
// Toast.makeText(this, "onDown", Toast.LENGTH_SHORT).show();
return false;
}@Override
public boolean onFling(MotionEvent startEvent, MotionEvent endEvent,
float velocityX, float velocityY) {
// TODO Auto-generated method stub
if (startEvent.getY() - endEvent.getY() > 100) {
Toast.makeText(this, "手势向上滑动", Toast.LENGTH_SHORT).show();
return true;
} else if (startEvent.getY() - endEvent.getY() < -100) {
Toast.makeText(this, "手势向下滑动", Toast.LENGTH_SHORT).show();
return true;
} else if (startEvent.getX() - endEvent.getX() > 100) {
Toast.makeText(this, "手势向左滑动", Toast.LENGTH_SHORT).show();
mViewFlipper.showNext();
return true;
} else if (startEvent.getX() - endEvent.getX() < -100) {
Toast.makeText(this, "手势向右滑动", Toast.LENGTH_SHORT).show();
mViewFlipper.showPrevious();
return true;
}
return false;
}@Override
public void onLongPress(MotionEvent arg0) {
// TODO Auto-generated method stub
// Toast.makeText(this, "onLongPress ", Toast.LENGTH_SHORT).show();
}@Override
public boolean onScroll(MotionEvent arg0, MotionEvent arg1, float arg2,
float arg3) {
// TODO Auto-generated method stub
// Toast.makeText(this, "onScroll", Toast.LENGTH_SHORT).show();
return false;
}@Override
public void onShowPress(MotionEvent arg0) {
// TODO Auto-generated method stub
// Toast.makeText(this, "onShowPress", Toast.LENGTH_SHORT).show();
}@Override
public boolean onSingleTapUp(MotionEvent arg0) {
// TODO Auto-generated method stub
// Toast.makeText(this, "onSingleTapUp", Toast.LENGTH_SHORT).show();
return false;
}@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}}

这样就可以实现最简单的切换效果了。

Android ViewFlipper实现多个布局手势切换的效果相关推荐

  1. android imageview 图片切换动画,模仿优酷Android客户端图片左右滑动(自动切换)效果...

    本例是用ViewPager去做的实现,支持自动滑动和手动滑动,不仅优酷网,实际上有很多商城和门户网站都有类似的实现: 具体思路: 1. 工程中需要添加android-support-v4.jar,才能 ...

  2. android 图片横竖判断_Android横竖屏切换及其对应布局加载问题详解

    本文为大家分享了Android横竖屏切换及其对应布局加载问题,供大家参考,具体内容如下 第一,横竖屏切换连带横竖屏布局问题: 如果要让软件在横竖屏之间切换,由于横竖屏的高宽会发生转换,有可能会要求不同 ...

  3. Android获取输入法高度——输入法与页面布局无缝切换

    在QQ或者微信的聊天页面,当输入法和表情栏互相切换时,过度非常自然,而且表情栏高度刚好跟输入法一样.个人感觉这种用户体验特别的好,别看这个细节小,但代码实现处理起来还是有一定难度.今天我就带大家来实现 ...

  4. Android ViewFlipper 使用

    转载请标明出处: http://blog.csdn.net/tyzlmjj/article/details/48576219 本文出自:[M家杰的博客] 概述 ViewFlipper 与 ViewPa ...

  5. android如何自定义viewpager,Android自定义ViewPager实现个性化的图片切换效果

    第一次见到ViewPager这个控件,瞬间爱不释手,做东西的主界面通通ViewPager,以及图片切换也抛弃了ImageSwitch之类的,开始让ViewPager来做.时间长了,ViewPager的 ...

  6. android实现滑动切换图,Android:使用ViewPager实现左右滑动切换图片加点点

    图片发自简书App 1.引入android-support-v4.jar包,在主布局里加入 < ?xml version="1.0" encoding="utf-8 ...

  7. android学习笔记---56_activity切换动画与页面切换动画,自定义activity窗口切换动画效果的实现.

    2013/5/17 Java技术qq交流群:JavaDream:251572072 56_activity切换动画与页面切换动画 ----------------------------------- ...

  8. 两个Activity左右滑动手势切换

    2019独角兽企业重金招聘Python工程师标准>>> 已经接触android四个月了,之前更多的是android的基础学习,在工作上也没有很多开发的工作,所以这几天有空学一下之前一 ...

  9. android studio 显示view树_Android手势分发和嵌套滚动机制

    前言   对于一个Android开发者而言,要开发一个APP你必须要了解事件分发,而要开发一个优秀的APP你就必须要理解嵌套滚动.   在Android的开发体系里面,手势体系是一块非常重要的内容.从 ...

最新文章

  1. ssha java接口_java – 从Spring在LDAP中设置SSHA密码
  2. linux /etc/fstab 挂载列表 简介
  3. Mother's Day
  4. centos安装后两个启动项、_Windows安装Centos7双系统后Windows启动项消失
  5. 8万级自动挡智能SUV,舒适好开是亮点,众泰T600Coupe要逆天?
  6. mysql binlog 订阅_数据库binlog订阅和消费组件canal快速入门
  7. 机器人走方格(51Nod-1119)
  8. 传音控股回应“遭华为起诉侵权”:未收到起诉状 科创板上市不受影响
  9. 学习项目管理PRINCE2有什么用??
  10. The Introduction Of Filter
  11. Atiflash显卡BIOS、Nvflsh显卡BIOS、显卡BIOS刷新与超频详细说明教程--转载+BYZ修正...
  12. 一些常用的物理特殊符号的读法
  13. macbook proa1708_MacBook Pro 2017 A1708自己更换电池
  14. 启动mysql 数据库服务器_启动及关闭MySQL服务器的正确方式
  15. 豆瓣的robots内容分析
  16. 程序设计思维 A - 区间选点 II(差分约束)
  17. devstack+ubuntu16.04 desktop版安装openstack S版手册
  18. buildroot的使用简介
  19. 计算灰度共生矩阵GLCM
  20. sqli-labs————less 22

热门文章

  1. k歌的录音伴奏合成技术如何实现_2019年中国在线K歌行业市场现状,在线K歌用户女性占比较高...
  2. oracle 9i sql_id,Oracle9i增添 wm_concat函数(转)
  3. mysql 锁 会话_MySQL会话锁等待关系原理
  4. Django 聚合查询
  5. IDEA新建maven项目漏掉webapp目录解决方法
  6. 女主播还是女主播???
  7. mysql增量备份保留策略_Mysql备份策略-完成备份+增量备份shell
  8. 监听localStorage变化(同页面监听)
  9. 【算法与数据结构专场】BitMap算法基本操作代码实现
  10. 《数据库SQL实战》查找入职员工时间排名倒数第三的员工的所有信息