android之ViewFlipper
xml文件
activity-main.xml
<ViewFlipper xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/viewFlipper" android:layout_width="match_parent"
android:layout_height="match_parent"> <include
android:id="@+id/view1"
layout="@layout/view1"></include> <include
android:id="@+id/view2"
layout="@layout/view2"></include> <include
android:id="@+id/view3"
layout="@layout/view3"></include> <include
android:id="@+id/view4"
layout="@layout/view4"></include> <include
android:id="@+id/view5"
layout="@layout/view5"></include> </ViewFlipper>
view1.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/android01"> <TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/view1"
android:textSize="30sp"
android:layout_gravity="center_horizontal"/>
</LinearLayout>
MainActivity
package com.viewflipperdemo; import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.animation.AnimationUtils;
import android.widget.ViewFlipper; public class MainActivity extends Activity implements View.OnTouchListener{ private ViewFlipper viewFlipper; private float mTouchDownX;//手指按下的X坐标
private float mTouchUpX;//手指松开时的X坐标 @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); viewFlipper = (ViewFlipper) findViewById(R.id.viewFlipper);
/*viewFlipper.setAutoStart(true);
viewFlipper.setFlipInterval(2000);*/
viewFlipper.setOnTouchListener(this);
} @Override
public boolean onTouch(View v, MotionEvent event) { //当手指在屏幕上按下时
if (event.getAction() == MotionEvent.ACTION_DOWN) {
mTouchDownX = event.getX(); //取得左右滑动时,取得X的坐标
Log.i("Temp", "mTouchDownX:" + mTouchDownX);
return true;
} else if (event.getAction() == MotionEvent.ACTION_UP) {
mTouchUpX = event.getX();
Log.i("Temp", "mTouchUpX:" + mTouchUpX);
//从左到右时
if (mTouchUpX - mTouchDownX>100) {
//设置动画
viewFlipper.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.push_right_in));
viewFlipper.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.push_right_out));
viewFlipper.showPrevious();
} else if(mTouchDownX- mTouchUpX>100) {//从右到左时 viewFlipper.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.push_left_in));
viewFlipper.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.push_left_out));
viewFlipper.showNext();
}
return true;
}
return false;
}
}
自己总结:
ViewFlipper用于页面翻页,--》 ViewAnimator ---->FrameLayout 所有可以翻页
XML
android之ViewFlipper的更多相关文章
- Android 通过ViewFlipper实现广告轮播功能并可以通过手势滑动进行广告切换
为了实现广告轮播功能,在网上找了很多方法,有的效果很好,但是代码太麻烦,并且大多是用的viewpager,总之不是很满意. 于是看了一下sdk有个控件是ViewFlipper,使用比较方便,于是尝试了 ...
- UI特效--Android利用ViewFlipper实现屏幕切换动画效果
.屏幕切换指的是在同一个Activity内屏幕见的切换,最长见的情况就是在一个FrameLayout内有多个页面,比如一个系统设置页面:一个个性化设置页面.2.介绍ViewFilpper类ViewFl ...
- Android使用ViewFlipper实现左右滑动效果面
在我的博客中,上次是使用ViewPager实现左右滑动的效果的,请看文章:Android使用ViewPager实现左右滑动效果. 这次我来使用ViewFlipper实现这种效果,好了,先看看效果吧: ...
- Android利用ViewFlipper实现屏幕切换动画效果
1.屏幕切换指的是在同一个Activity内屏幕见的切换,最长见的情况就是在一个FrameLayout内有多个页面,比如一个系统设置页面:一个个性化设置页面. 2.介绍ViewFilpper类 Vie ...
- android手势识别ViewFlipper触摸动画
使用ViewFlipper来将您要来回拖动的View装在一起,然 后与GestureDetector手势识别类来联动,确定要显示哪个View,加上一点点动画效果即可.比如当手指向左快速滑动时跳转到上一 ...
- 【转】android ViewPager,ViewFlipper,ViewFlow实现左右滑动
转自:http://blog.csdn.net/zhouyuanjing/article/details/8290454 开篇 首页只是作为ViewPager,ViewFlipper,ViewFlow ...
- 【Android 复习】:Android之ViewFlipper(二)
通过手势移动屏幕 上面是通过屏幕上的按钮来在屏幕间切换的,这看起来多少有点不符合Android的风格,如果要是能通过手势的左右滑动来实现屏幕的切换就比较优雅了. 通过android.view.Gest ...
- 【Android 复习】:Android之ViewFlipper(一)
屏幕切换指的是在同一个Activity内屏幕见的切换,最长见的情况就是在一个FrameLayout内有多个页面,比如一个系统设置页面:一个个性化设置页面. 通过查看Android API文档可以发现, ...
- android学习ViewFlipper的使用
android系统自带的多页面管理控件,它可以实现子页面的自动切换 1,为ViewFlipper添加View 静态导入:在layout布局文件中直接导入 动态导入:通过addview方法进行导入 2, ...
随机推荐
- 使用FIO对SATA、SSD和PCIe Flash进行测试
首先声明,同事做的实验 使用fio对SATA.SSD.PCIE进行了测试 测试说明: 1.测试命名 sync_write_4k_32 sync表示测试方式,可以是sync或者libaio ...
- 关于checkbox全选与反选的问题
在一组checkbox中常有这样的需求,选择全选按钮,所有的选项必须全选上,当再次点击时,则所有的按钮必须反选,当点击一组checkbox时,只有有一个不选上,则按钮不选中,当所有的按钮全部选上时,此 ...
- Flume整合Spark Streaming
Spark版本1.5.2,Flume版本:1.6 Flume agent配置文件:spool-8.51.conf agent.sources = source1 agent.channels = me ...
- CI框架(一)
CI工作流程: 所有的入口都从根目录下的index.php进入,确定应用所在目录后,加载 codeigniter/CodeIgniter.php 文件,该文件会顺序加载以下文件执行整个流 ...
- MySQL事件 Events
MySQL事件 Events 一.关键字: EVENT 二.语法: CREATE EVENT? [IF NOT EXISTS ] //如果不存在则创建 event_name? ON SCHED ...
- Managing IIS Log File Storage
Managing IIS Log File Storage You can manage the amount of server disk space that Internet Informa ...
- 操作系统 页面置换算法LRU和FIFO
LRU(Least Recently Used)最少使用页面置换算法,顾名思义,就是替换掉最少使用的页面. FIFO(first in first out,先进先出)页面置换算法,这是的最早出现的置换 ...
- VC++ 对话框程序响应键盘消息的处理方法的说明(非常重要)
基于MFC对话框的应用程序在响应按键消息和热键方面都力不从心,CDialog类的消息循环中去掉了TranslateAccelerator函数,因此不能响应热键:同时由于对话框上可能有很多控件,且默认情 ...
- 一年成为emacs高手
http://blog.csdn.net/redguardtoo/article/details/7222501
- mix_alternates_for_parent: TRUE
主替代料的消耗问题就没有了mix_alternates_for_parent: TRUEmix_alternate_per_unit_parent: TRUE D:\JDA\JDAv800\FP\in ...