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, ...
随机推荐
- TortoiseGit 图标不显示
1. 确认注册表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdent ...
- phoenix将hdfs数据导入hbase
http://phoenix.apache.org/bulk_dataload.html
- 我个人结合到老师的来理解的——Asp.net Webform的页面生命周期
1.分析请求的资源路径,寻找目录中对应的资源文件,若无法找到资源文件,则返回404错误2.分析资源文件的Page命令,通过Page指令找到代码文件和类 3.将页面文件和类一起编译生成最终的类(仅仅在第 ...
- C#中清空ListView中的数据
我的显示数据的方式通过button按钮点击事件,当点击之后查询数据库库并将数据显示出来. 代码如下: private void button6_Click(object sender, EventAr ...
- Delphi2010 DataSnap入门
DataSnap到了Delphi2010有了很大的变化,已经可以完全抛弃DCOM之类的东西了,在以前版本中建立一个DataSnap,需要使用DCOMConnection或者SockConnection ...
- 用贝赛尔曲线把图片, 按钮, label 绘成圆 或圆角矩形
//创建圆形遮罩,把用户头像变成圆形 /* *CGPointMake(35, 35) 是绘图的中心点, 如果想把控件居中绘圆, 一般用控件的中心点, radius 是圆半径 startAn ...
- dfs 翻棋盘end
#include<iostream> char data[16]; int a[16]; int d[4] = { -4, 1, 4, -1 }; char b[16]; int flag ...
- jsonp原理
http://www.cnblogs.com/dowinning/archive/2012/04/19/json-jsonp-jquery.html
- Texture Filter中的Bilinear、Trilinear以及Anistropic Filtering
1. 为什么在纹理采样时需要texture filter(纹理过滤)?我们的纹理是要贴到三维图形表面的,而三维图形上的pixel中心和纹理上的texel中心并不一至(pixel不一定对应texture ...
- java 的SPI机制
今天看到spring mvc 使用Java Validation Api(JSR-303)进行校验,需要加载一个 其具体实现(比如Hibernate Validator), 本来没有什么问题,但是突然 ...