废话少说,直接上代码吧
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`中的视图。 **3. 实现过程** 首先,你需要在布局文件中添加一个`ViewFlipper`,并将要展示的视图作为子视图添加进去。然后,在Activity中...
本示例“android viewflipper 图片滑动demo”正是这样一个应用场景,用于展示如何用ViewFlipper实现在应用首次启动时的图片引导页面。 首先,我们需要了解ViewFlipper的基本概念。ViewFlipper是ViewGroup的一个子类...
在这个"ViewFlipperDemo.zip"中,我们很可能会看到一个演示如何使用ViewFlipper来创建动态视图切换的应用示例。 首先,我们要理解ViewFlipper的基本用法。ViewFlipper继承自ViewGroup,这意味着它可以包含一个或多...
通过查看`Demo.ViewFlipperDemo`项目,你可以学习如何在实际应用中使用ViewFlipper,包括如何配置自动翻转、自定义动画、响应用户输入以及动态管理视图。这对于开发涉及多页面滑动效果的Android应用非常有帮助,例如...
本教程将基于提供的"图片左右循环切换Demo"来详细介绍如何自定义一个继承自`ViewFlipper`的控件来实现这一功能。 `ViewFlipper`是Android SDK提供的一种布局容器,它允许我们在两个或更多的视图之间进行切换,通常...
在Android开发中,ViewFlipper是一个非常实用的控件,用于在多个视图之间进行平滑切换,常用于实现类似轮播图或者横向滑动页面的效果。本教程将详细介绍如何利用ViewFlipper来实现横屏滑动,以及屏幕局部滑动的实现...
- **手动切换**:如果你希望用户通过手势来切换视图,可以使用`showNext()`或`showPrevious()`方法。 ```java // 显示下一个视图 viewFlipper.showNext(); // 显示上一个视图 viewFlipper.showPrevious(); ``` ##...
通过`ViewFlipperDemo`项目的学习,开发者可以了解`ViewFlipper`的基本使用以及如何在实际项目中实现各种翻转效果。该项目可能包含了实现不同翻转动画、手动翻转、自动翻转等功能的代码示例,是学习`ViewFlipper`的...
对于本Demo来说,很可能是基于ViewPager进行定制,因为ViewPager可以轻松地实现左右滑动切换页面,并且支持自定义动画和手势检测。下面将详细解释这些知识点: 1. **ViewPager**:ViewPager是Android SDK中的一个...
`ViewFlipper`是Android SDK提供的一种用于在多个视图间进行动画切换的容器,它能轻松实现自动轮播和手动手势切换的效果。 **1. ViewFlipper介绍** `ViewFlipper`继承自`ViewGroup`,可以包含多个子视图(例如...
- ViewFlipper可以配合SensorManager和GestureDetector实现手势切换子视图。 - 使用AsyncTask或者Loader加载数据,确保数据的异步加载,提高用户体验。 这个毕业设计项目不仅提供了学习Android基础组件的机会,还...
33、GestureDetector + ViewFlipper实现翻页效果 34、GestureLiberay 自定义手势 35、GestureLiberay 通过自定义的手势实现用户操作 36、TextToSpeech 语音朗读 37、ContentProvider、ContentResolver 应用之间...
- 使用`ViewFlipper`或`ViewSwitcher`组件可以实现平滑的过渡效果。 3. **动画效果**: - `ObjectAnimator`或`ValueAnimator`用于创建自定义动画,如菜单的滑入滑出动画。 - `TranslationAnimation`和`...
在这个项目中,开发者可能会使用到Android的ViewFlipper或者ViewPager组件来实现页面间的切换。ViewFlipper允许开发者在多个视图之间进行简单的自动或手动切换,而ViewPager则提供了更复杂的滑动手势支持和页面间...
`ViewFlipper`适合简单的左右切换,而`ViewPager`则适用于更复杂的页面滑动场景,如在水平方向上浏览多个类似的内容页面。 6. **布局滚动**: 在一些情况下,你可能需要整个Activity或Fragment内的布局进行滚动,...
- 为了响应用户的翻页手势,如左右滑动,项目可能会使用`GestureDetector`和`ScaleGestureDetector`。这些类帮助识别和处理触摸事件,从而触发翻页动画。 5. **Custom Layouts(自定义布局)**: - 由于系统默认...
- 使用`ViewFlipper`或`ViewSwitcher`组件也可以方便地在不同视图间切换。 6. **数据模型**: - 需要定义一个数据模型类,包含电影的基本信息,如标题、评分、上映日期等。 - 数据模型类通常会集成Parcelable...