`
80demon
  • 浏览: 77842 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android开发实现拖动效果

 
阅读更多

 要实现拖动效果需要做以下的准备。
  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 实现拖动水纹效果

    在Android应用开发中,创建吸引用户的界面和交互是至关重要的,而实现拖动水纹效果是一种创新且引人入胜的UI设计。本教程将详细讲解如何利用SurfaceView类来达到这一目标,让应用程序的视觉体验更加丰富和动态。 ...

    Android-仿百度地图抽屉拖拽效果

    本项目"Android-仿百度地图抽屉拖拽效果"旨在实现一个类似的功能,让用户在自己的Android应用中也能添加这一特性。 抽屉效果通常通过Android的SlidingPaneLayout或者NavigationView来实现,但在这个项目中,开发者...

    Android ImageView实现照片墙效果(卡片式滑出效果) 源码

    在Android开发中,创建独特的用户界面是提升用户体验的关键。本示例中的"Android ImageView实现照片墙效果(卡片式滑出效果) 源码"是一个很好的案例,它展示了如何通过自定义控件来构建一个美观且互动性强的照片...

    Android开发之google源码——图片拖拽效果的实现

    本文将基于提供的“Android开发之google源码——图片拖拽效果的实现”资源,深入探讨如何在Android平台上创建这样的功能。 首先,我们要理解图片拖拽效果的核心原理。这种效果通常依赖于触摸事件(MotionEvent)的...

    Android 实现拖动按钮效果

    在Android开发中,实现拖动按钮的效果是一种常见的交互设计,它可以增强用户操作的直观性和趣味性。本篇文章将深入探讨如何在Android应用中创建这样的功能,主要涉及Android UI组件、触摸事件处理以及自定义View的...

    Android按钮拖拽效果

    在Android开发中,实现按钮的拖拽效果可以极大地提升用户界面的交互性和用户体验。这篇文章将深入探讨如何在GridView中创建一个可拖动的按钮,以及实现这一效果的关键技术和步骤。 首先,我们需要理解Android中的...

    Android-Android开发实现进度条效果SeekBar的简单使用

    本教程将详细介绍如何在Android开发中实现 SeekBar 的简单使用。 首先,SeekBar 是 Android SDK 提供的一种可以进行连续滑动的控件,它允许用户通过拖动一个可移动的小滑块来改变进度。在布局文件(XML)中,我们...

    Android_图片拖动效果

    在Android开发中,实现图片拖动效果是一项基本且有趣的功能,它可以带给用户直观、互动的体验。本教程将深入探讨如何在Android应用中创建类似iPhone的图片拖动效果。 首先,我们需要了解Android中的触摸事件处理...

    Android Demo实现书架效果

    在Android开发中,创建一个书架效果的界面可以极大地提升用户体验,尤其是在电子阅读或图书类应用中。这个“Android Demo实现书架效果”的项目旨在教你如何利用Android Studio和相关的技术来构建这样一个仿真的书架...

    android listview item拖动效果

    在实现拖动效果时,我们需要监听用户的触摸事件,判断用户是否开始拖动item,并在拖动过程中更新数据源和ListView的显示。 1. **实现拖动效果的基本步骤**: - **创建DragListener**:你需要创建一个...

    android listview 拖拽效果

    "android listview 拖拽效果"是指在ListView上实现的一项高级功能,允许用户通过手势拖动ListView中的每个条目(item)来改变它们的位置,提供了一种直观且交互性强的用户体验。在本篇文章中,我们将深入探讨如何...

    android拖拽效果仿zaker 优化性能版本

    在Android开发中,实现类似Zaker的拖拽效果是一项挑战性的任务,特别是在追求高性能和流畅度的同时。这个“android拖拽效果仿zaker 优化性能版本”项目旨在提供一种优化的解决方案,使得用户在浏览内容时能享受到...

    安卓Launcher桌面相关-android桌面拖拽效果.rar

    本压缩包“安卓Launcher桌面相关-android桌面拖拽效果.rar”可能包含了一些实现Android Launcher中拖拽效果的源代码和资源文件。由于描述中提到无法逐一验证所有内容,以下将详细解释Android Launcher中拖拽效果的...

    android 图片拖拽效果

    在Android开发中,实现图片拖拽效果是一种常见的交互设计,它可以增强用户对应用的体验感。这个"android 图片拖拽效果"项目提供了一个详细实现图片拖动功能的源码,使用者可以将其直接导入到自己的Android项目中进行...

    安卓3D标签云卡片热门相关-Android实现标签拖动改变位置.rar

    在Android开发中,3D标签云卡片是一种独特的用户界面元素,它可以增强应用的视觉效果,同时提供了一种交互式的方式来展示大量数据。本资源“安卓3D标签云卡片热门相关-Android实现标签拖动改变位置.rar”似乎包含了...

    Android View拖动实现

    在Android开发中,实现View的拖动功能是一项常见的需求,比如在设计自定义控件、构建可滑动的布局或者创建交互式应用时。本文将深入探讨如何在Android中实现View的拖动功能,主要基于提供的`DragView`示例进行讲解。...

    Android学习记录使用Gallery实现炫丽的拖动效果

    在Android开发中,实现炫丽的拖动效果是提升用户体验的重要一环,特别是使用`Gallery`组件可以创建出类似轮播图或者选择器的效果。这篇博客"Android学习记录使用Gallery实现炫丽的拖动效果"深入探讨了如何利用`...

    Android-ImageNice9Layout仿Nice首页图片列表9图样式并实现拖拽效果

    在Android开发中,图片加载和展示是至关重要的部分,特别是在设计用户界面时。"Android-ImageNice9Layout仿Nice首页图片列表9图样式并实现拖拽效果"是一个项目,其目标是模仿Nice应用的首页图片展示方式,并添加了...

    安卓动画效果相关-Android仿窗帘效果和登录界面拖动效果Scroller类的应用.rar

    在Android开发中,动画效果是提升用户体验的关键因素之一。本资料包主要探讨的是如何实现“窗帘效果”和“登录界面拖动效果”,这两个都是通过利用`Scroller`类来完成的。`Scroller`类是Android系统提供的一个帮助类...

    android 拖拽 gridview拖动+自动移位效果 zaker

    在Android开发中,实现“拖拽GridView拖动+自动移位效果”是一项有趣且实用的技术。这个功能在很多应用中都能看到,比如Zaker这样的新闻阅读应用,用户可以通过手势自由调整内容布局,提升用户体验。接下来,我们将...

Global site tag (gtag.js) - Google Analytics