要实现拖动效果需要做以下的准备。
1.创建一个Android工程。
2.在main.xml中添加一个ViewFlipper组件。
<ViewFlipper android:id="@+id/ViewFlipper01"
android:layout_width="wrap_content" android:layout_height="wrap_content"></ViewFlipper>
在代码中设置ViewFlipper的事件和属性
代码如下,有注释
viewFlipper = (ViewFlipper) findViewById(R.id.ViewFlipper01);//得到对象
viewFlipper.setLongClickable(true);//如果不设置为true,对象就不会响应onTouch事件
viewFlipper.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
//gd是一个GestureDetector对象。具体的会在下面讲到。GestureDetector会根据转入的MotionEvent事件来判断用户进行了哪种操作。
ActivityMain.this.gd.onTouchEvent(event);
return false;
}
});
添加一个GestureDetector对象。并实现GestureDetector.OnGestureListener接口。
GestureDetector对象对接收多个MotionEvent事件。并根据这些MotionEvent事件来判断用户在进行什么操作。
@Override
public boolean onSingleTapUp(MotionEvent e) {
//用户轻触屏幕后松开。
return false;
}
@Override
public void onShowPress(MotionEvent e) {
//用户轻触屏幕,尚末松开或拖动,注意,强调的是没有没有松开或者拖动状态
}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
//用户按下屏幕并拖动
return false;
}
@Override
public void onLongPress(MotionEvent e) {
//用户长按屏幕
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
//用户按下屏幕,快速移动后松开(就是在屏幕上滑动)
//e1:第一个ACTION_DOWN事件(手指按下的那一点)
//e2:最后一个ACTION_MOVE事件 (手指松开的那一点)
//velocityX:手指在x轴移动的速度 单位:像素/秒
//velocityY:手指在y轴移动的速度 单位:像素/秒
if(e1.getX()-e2.getX()>0){//判断用户是在向什么方向移动手指
ActivityMain.this.nextPage();//向左移动手指,显示下一页
}else{
ActivityMain.this.prePage();//向右移动手指,显示上一页
}
return false;
}
@Override
public boolean onDown(MotionEvent e) {
//用户轻触屏幕。(单击)
return false;
}
实现翻页程序
private void prePage() {
if (i <= 0) {
i = 0;
Toast.makeText(this, "前面没有页面了", Toast.LENGTH_SHORT).show();
return;
}
i--;
viewFlipper.setInAnimation(this, R.anim.in_left_anima);
viewFlipper.setOutAnimation(this, R.anim.out_right_anima);
viewFlipper.showPrevious();
}
private void nextPage() {
if (i + 1 >= max) {
i = max - 1;
Toast.makeText(this, "这是最后一页", Toast.LENGTH_SHORT).show();
return;
}
viewFlipper.setInAnimation(this, R.anim.in_right_anima);
viewFlipper.setOutAnimation(this, R.anim.out_left_anima);
i++;
int count = viewFlipper.getChildCount();
if (count < max && i >= count) {
viewFlipper.addView(getTextView(i));
}
viewFlipper.showNext();
}
分享到:
相关推荐
在Android应用开发中,创建吸引用户的界面和交互是至关重要的,而实现拖动水纹效果是一种创新且引人入胜的UI设计。本教程将详细讲解如何利用SurfaceView类来达到这一目标,让应用程序的视觉体验更加丰富和动态。 ...
本项目"Android-仿百度地图抽屉拖拽效果"旨在实现一个类似的功能,让用户在自己的Android应用中也能添加这一特性。 抽屉效果通常通过Android的SlidingPaneLayout或者NavigationView来实现,但在这个项目中,开发者...
在Android开发中,创建独特的用户界面是提升用户体验的关键。本示例中的"Android ImageView实现照片墙效果(卡片式滑出效果) 源码"是一个很好的案例,它展示了如何通过自定义控件来构建一个美观且互动性强的照片...
本文将基于提供的“Android开发之google源码——图片拖拽效果的实现”资源,深入探讨如何在Android平台上创建这样的功能。 首先,我们要理解图片拖拽效果的核心原理。这种效果通常依赖于触摸事件(MotionEvent)的...
在Android开发中,实现拖动按钮的效果是一种常见的交互设计,它可以增强用户操作的直观性和趣味性。本篇文章将深入探讨如何在Android应用中创建这样的功能,主要涉及Android UI组件、触摸事件处理以及自定义View的...
在Android开发中,实现按钮的拖拽效果可以极大地提升用户界面的交互性和用户体验。这篇文章将深入探讨如何在GridView中创建一个可拖动的按钮,以及实现这一效果的关键技术和步骤。 首先,我们需要理解Android中的...
本教程将详细介绍如何在Android开发中实现 SeekBar 的简单使用。 首先,SeekBar 是 Android SDK 提供的一种可以进行连续滑动的控件,它允许用户通过拖动一个可移动的小滑块来改变进度。在布局文件(XML)中,我们...
在Android开发中,实现图片拖动效果是一项基本且有趣的功能,它可以带给用户直观、互动的体验。本教程将深入探讨如何在Android应用中创建类似iPhone的图片拖动效果。 首先,我们需要了解Android中的触摸事件处理...
在Android开发中,创建一个书架效果的界面可以极大地提升用户体验,尤其是在电子阅读或图书类应用中。这个“Android Demo实现书架效果”的项目旨在教你如何利用Android Studio和相关的技术来构建这样一个仿真的书架...
在实现拖动效果时,我们需要监听用户的触摸事件,判断用户是否开始拖动item,并在拖动过程中更新数据源和ListView的显示。 1. **实现拖动效果的基本步骤**: - **创建DragListener**:你需要创建一个...
"android listview 拖拽效果"是指在ListView上实现的一项高级功能,允许用户通过手势拖动ListView中的每个条目(item)来改变它们的位置,提供了一种直观且交互性强的用户体验。在本篇文章中,我们将深入探讨如何...
在Android开发中,实现类似Zaker的拖拽效果是一项挑战性的任务,特别是在追求高性能和流畅度的同时。这个“android拖拽效果仿zaker 优化性能版本”项目旨在提供一种优化的解决方案,使得用户在浏览内容时能享受到...
本压缩包“安卓Launcher桌面相关-android桌面拖拽效果.rar”可能包含了一些实现Android Launcher中拖拽效果的源代码和资源文件。由于描述中提到无法逐一验证所有内容,以下将详细解释Android Launcher中拖拽效果的...
在Android开发中,实现图片拖拽效果是一种常见的交互设计,它可以增强用户对应用的体验感。这个"android 图片拖拽效果"项目提供了一个详细实现图片拖动功能的源码,使用者可以将其直接导入到自己的Android项目中进行...
在Android开发中,3D标签云卡片是一种独特的用户界面元素,它可以增强应用的视觉效果,同时提供了一种交互式的方式来展示大量数据。本资源“安卓3D标签云卡片热门相关-Android实现标签拖动改变位置.rar”似乎包含了...
在Android开发中,实现View的拖动功能是一项常见的需求,比如在设计自定义控件、构建可滑动的布局或者创建交互式应用时。本文将深入探讨如何在Android中实现View的拖动功能,主要基于提供的`DragView`示例进行讲解。...
在Android开发中,实现炫丽的拖动效果是提升用户体验的重要一环,特别是使用`Gallery`组件可以创建出类似轮播图或者选择器的效果。这篇博客"Android学习记录使用Gallery实现炫丽的拖动效果"深入探讨了如何利用`...
在Android开发中,图片加载和展示是至关重要的部分,特别是在设计用户界面时。"Android-ImageNice9Layout仿Nice首页图片列表9图样式并实现拖拽效果"是一个项目,其目标是模仿Nice应用的首页图片展示方式,并添加了...
在Android开发中,动画效果是提升用户体验的关键因素之一。本资料包主要探讨的是如何实现“窗帘效果”和“登录界面拖动效果”,这两个都是通过利用`Scroller`类来完成的。`Scroller`类是Android系统提供的一个帮助类...
在Android开发中,实现“拖拽GridView拖动+自动移位效果”是一项有趣且实用的技术。这个功能在很多应用中都能看到,比如Zaker这样的新闻阅读应用,用户可以通过手势自由调整内容布局,提升用户体验。接下来,我们将...