`
liuweisir
  • 浏览: 43379 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

使用ViewFlipper实现左右手势切换页面的demo

阅读更多

废话少说,直接上代码吧

main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" android:layout_width="fill_parent"
	android:layout_height="fill_parent"
	>
	<ViewFlipper android:layout_height="wrap_content"
		android:id="@+id/viewFlipper1" android:layout_width="fill_parent"
		>
		<LinearLayout android:layout_width="wrap_content"
			android:layout_height="wrap_content">
			<TextView android:layout_width="wrap_content"
				android:layout_height="wrap_content" android:text="第一屏" />
		</LinearLayout>
		<LinearLayout android:layout_width="wrap_content"
			android:layout_height="wrap_content">
			<TextView android:layout_width="wrap_content"
				android:layout_height="wrap_content" android:text="第二屏" />
		</LinearLayout>
	</ViewFlipper>
</LinearLayout>

 

ViewFlipperActivity.java

 

package cn.xhlx.viewflipper;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.GestureDetector;
import android.view.GestureDetector.OnGestureListener;
import android.view.MotionEvent;
import android.widget.ViewFlipper;

public class ViewFlipperActivity extends Activity implements OnGestureListener{
	private static final String TAG = "ViewFlipperActivity";
	private ViewFlipper viewFlipper;
	private GestureDetector detector;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        detector = new GestureDetector(this);
        viewFlipper = (ViewFlipper) findViewById(R.id.viewFlipper1);
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
    	Log.v(TAG, "touched");
    	return this.detector.onTouchEvent(event); 
    }
	public boolean onDown(MotionEvent e) {
		// TODO Auto-generated method stub
		return false;
	}

	public void onShowPress(MotionEvent e) {
		// TODO Auto-generated method stub
		
	}

	public boolean onSingleTapUp(MotionEvent e) {
		// TODO Auto-generated method stub
		return false;
	}

	public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
			float distanceY) {
		// TODO Auto-generated method stub
		return false;
	}

	public void onLongPress(MotionEvent e) {
		// TODO Auto-generated method stub
		
	}

	public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
			float velocityY) {
		Log.i(TAG, "fling…"); 
		if(e1.getX()>e2.getX()){
			viewFlipper.showNext();
		}else if(e1.getX()<e2.getX()){
			viewFlipper.showPrevious();
		}else {
			return false;
		}
		return true;
	}
}

 

 

 

 

分享到:
评论

相关推荐

    用ViewFlipper+GestureDetector实现的滑屏demo

    在滑屏应用中,我们主要关注的是滑动手势,即左右滑动来切换`ViewFlipper`中的视图。 **3. 实现过程** 首先,你需要在布局文件中添加一个`ViewFlipper`,并将要展示的视图作为子视图添加进去。然后,在Activity中...

    android viewflipper 图片滑动demo

    本示例“android viewflipper 图片滑动demo”正是这样一个应用场景,用于展示如何用ViewFlipper实现在应用首次启动时的图片引导页面。 首先,我们需要了解ViewFlipper的基本概念。ViewFlipper是ViewGroup的一个子类...

    ViewFlipperDemo.zip

    在这个"ViewFlipperDemo.zip"中,我们很可能会看到一个演示如何使用ViewFlipper来创建动态视图切换的应用示例。 首先,我们要理解ViewFlipper的基本用法。ViewFlipper继承自ViewGroup,这意味着它可以包含一个或多...

    ViewFlipper

    通过查看`Demo.ViewFlipperDemo`项目,你可以学习如何在实际应用中使用ViewFlipper,包括如何配置自动翻转、自定义动画、响应用户输入以及动态管理视图。这对于开发涉及多页面滑动效果的Android应用非常有帮助,例如...

    图片左右循环切换Demo

    本教程将基于提供的"图片左右循环切换Demo"来详细介绍如何自定义一个继承自`ViewFlipper`的控件来实现这一功能。 `ViewFlipper`是Android SDK提供的一种布局容器,它允许我们在两个或更多的视图之间进行切换,通常...

    ViewFlipper简单实现横屏滑动

    在Android开发中,ViewFlipper是一个非常实用的控件,用于在多个视图之间进行平滑切换,常用于实现类似轮播图或者横向滑动页面的效果。本教程将详细介绍如何利用ViewFlipper来实现横屏滑动,以及屏幕局部滑动的实现...

    android ViewFlipper的使用

    - **手动切换**:如果你希望用户通过手势来切换视图,可以使用`showNext()`或`showPrevious()`方法。 ```java // 显示下一个视图 viewFlipper.showNext(); // 显示上一个视图 viewFlipper.showPrevious(); ``` ##...

    ViewFlipper的使用

    通过`ViewFlipperDemo`项目的学习,开发者可以了解`ViewFlipper`的基本使用以及如何在实际项目中实现各种翻转效果。该项目可能包含了实现不同翻转动画、手动翻转、自动翻转等功能的代码示例,是学习`ViewFlipper`的...

    滑屏Demo(随手指拖动)

    对于本Demo来说,很可能是基于ViewPager进行定制,因为ViewPager可以轻松地实现左右滑动切换页面,并且支持自定义动画和手势检测。下面将详细解释这些知识点: 1. **ViewPager**:ViewPager是Android SDK中的一个...

    图片轮播的一个demo

    `ViewFlipper`是Android SDK提供的一种用于在多个视图间进行动画切换的容器,它能轻松实现自动轮播和手动手势切换的效果。 **1. ViewFlipper介绍** `ViewFlipper`继承自`ViewGroup`,可以包含多个子视图(例如...

    Android GridView + ViewFlipper布局界面,模仿“机锋市场-IT计算机-毕业设计.zip

    - ViewFlipper可以配合SensorManager和GestureDetector实现手势切换子视图。 - 使用AsyncTask或者Loader加载数据,确保数据的异步加载,提高用户体验。 这个毕业设计项目不仅提供了学习Android基础组件的机会,还...

    android开发demo集合

    33、GestureDetector + ViewFlipper实现翻页效果 34、GestureLiberay 自定义手势 35、GestureLiberay 通过自定义的手势实现用户操作 36、TextToSpeech 语音朗读 37、ContentProvider、ContentResolver 应用之间...

    Android滑动菜单特效实现,仿人人客户端侧滑效果demo程序源码

    - 使用`ViewFlipper`或`ViewSwitcher`组件可以实现平滑的过渡效果。 3. **动画效果**: - `ObjectAnimator`或`ValueAnimator`用于创建自定义动画,如菜单的滑入滑出动画。 - `TranslationAnimation`和`...

    android 翻页 demo 别人的

    在这个项目中,开发者可能会使用到Android的ViewFlipper或者ViewPager组件来实现页面间的切换。ViewFlipper允许开发者在多个视图之间进行简单的自动或手动切换,而ViewPager则提供了更复杂的滑动手势支持和页面间...

    android 滚动demo

    `ViewFlipper`适合简单的左右切换,而`ViewPager`则适用于更复杂的页面滑动场景,如在水平方向上浏览多个类似的内容页面。 6. **布局滚动**: 在一些情况下,你可能需要整个Activity或Fragment内的布局进行滚动,...

    Android程序研发源码Android 书籍翻页效果的demo.zip

    - 为了响应用户的翻页手势,如左右滑动,项目可能会使用`GestureDetector`和`ScaleGestureDetector`。这些类帮助识别和处理触摸事件,从而触发翻页动画。 5. **Custom Layouts(自定义布局)**: - 由于系统默认...

    实现listview实现用户操作交互

    - 使用`ViewFlipper`或`ViewSwitcher`组件也可以方便地在不同视图间切换。 6. **数据模型**: - 需要定义一个数据模型类,包含电影的基本信息,如标题、评分、上映日期等。 - 数据模型类通常会集成Parcelable...

Global site tag (gtag.js) - Google Analytics