当前位置:  编程技术>移动开发

Android实现左右滑动效果的方法详解

    来源: 互联网  发布时间:2014-10-18

    本文导语:  本示例演示在Android中实现图片左右滑动效果。关于滑动效果,在Android中用得比较多,本示例实现的滑动效果是使用ViewFlipper来实现的,当然也可以使用其它的View来实现。接下来就让我们开始实现这种效果。为了方便大家理解...

本示例演示在Android中实现图片左右滑动效果。

关于滑动效果,在Android中用得比较多,本示例实现的滑动效果是使用ViewFlipper来实现的,当然也可以使用其它的View来实现。接下来就让我们开始实现这种效果。为了方便大家理解,我们先来看一下效果图:
主要效果图如下图:

   

接下来我们看一下程序结构图:
 

MainActivity文件中代码:

代码如下:

package com.android.flip;
import android.app.Activity;
import android.os.Bundle;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.View;
import android.view.GestureDetector.OnGestureListener;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;
import android.widget.ViewFlipper;
/**
 * Android实现左右滑动效果
 * @Description: Android实现左右滑动效果
 * @File: MainActivity.java
 * @Package com.android.flip
 * @Author Hanyonglu
 * @Date 2012-02-12 上午10:44:04
 * @Version V1.0
 */
public class MainActivity extends Activity implements OnGestureListener {
    private ViewFlipper flipper;
    private GestureDetector detector;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        detector = new GestureDetector(this);
        flipper = (ViewFlipper) this.findViewById(R.id.ViewFlipper1);
        flipper.addView(addImageView(R.drawable.one));
        flipper.addView(addImageView(R.drawable.two));
        flipper.addView(addImageView(R.drawable.three));
        flipper.addView(addImageView(R.drawable.four));
        flipper.addView(addImageView(R.drawable.five));
    }

    private View addImageView(int id) {
        ImageView iv = new ImageView(this);
        iv.setImageResource(id);
        return iv;
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        // TODO Auto-generated method stub
        return this.detector.onTouchEvent(event);
    }

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

    @Override
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
            float velocityY) {
        if (e1.getX() - e2.getX() > 120) {
            this.flipper.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.push_left_in));
            this.flipper.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.push_left_out));
            this.flipper.showNext();
            return true;
        } else if (e1.getX() - e2.getX() < -120) {
            this.flipper.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.push_right_in));
            this.flipper.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.push_right_out));
            this.flipper.showPrevious();
            return true;
        }

        return false;
    }

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

    }

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

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

    }

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

布局界面相对比较简单,我们只需要加入ViewFlipper就可以,代码如下:
代码如下:



   
   


为了使其滑动时有一定的特效,我们需要加入Animation效果,说到Animation,我们先看下如何在Android中实现自定义Animation。自定义的Animation是以XML格式定义的,定义好的XML文件存放在res/anim中。

  一般的Animation有以下四种类型:
  1. Alpha:渐变透明度动画效果
  2. Scale:渐变尺寸伸缩动画效果
  3. Translate:画面转换位置移动动画效果
  4. Rotate:画面转换位置移动动画效果
 
push_left_in.xml文件中代码:
代码如下:

 

   
   


push_left_out.xml文件中代码:
代码如下:



   
   
 

push_right_in.xml文件中代码:
代码如下:



   
   


push_right_out.xml文件中代码:
代码如下:



   
   
 


    
 
 

您可能感兴趣的文章:

  • 滑动刷新的ListView Android PullToRefresh
  • android滑动解锁震动效果的开启和取消
  • android Gallery组件实现的iPhone图片滑动效果实例
  • 安卓(Android)中如何实现滑动导航
  • android开发教程之实现滑动关闭fragment示例
  • android 左右滑动+索引图标实现方法与代码
  • Android滑动式菜单 SlidingMenu
  • Android控件之SlidingDrawer(滑动式抽屉)详解与实例分享
  • android 通过向viewpage中添加listview来完成滑动效果(类似于qq滑动界面)
  • 解析Android中实现滑动翻页之ViewFlipper的使用详解
  • android中实现指针滑动的动态效果方法
  • Android利用ViewPager实现滑动广告板实例源码
  • android配合viewpager实现可滑动的标签栏示例分享
  • 如何在Android中实现渐显按钮的左右滑动效果
  • 如何在Android中实现左右滑动的指引效果
  • Android中实现可滑动的Tab的3种方式
  • android 九宫格滑动解锁开机实例源码学习
  • 深入android Unable to resolve target 'android-XX'详解
  • Android工程:引用另一个Android工程的方法详解
  • Android TextView设置背景色与边框的方法详解
  • Android中的android:layout_weight使用详解
  • Android 实现永久保存数据的方法详解
  • 在android开发中尽量不要使用中文路径的问题详解
  • android开发环境搭建详解(eclipse + android sdk)
  • android双缓冲技术实例详解
  • 深入Android开发FAQ的详解
  • Android开发笔记之:一分钟学会使用Logcat调试程序的详解
  • Android对sdcard扩展卡文件操作实例详解
  • Android笔记之:onConfigurationChanged详解
  • Android 动画之AlphaAnimation应用详解
  • 解析后台进程对Android性能影响的详解
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Android界面效果UI开发资料汇总(附资料包)
  • Android实现Flip翻转动画效果
  • android中设置TextView/Button 走马灯(Marquee)效果示例
  • Android应用开发中模拟按下HOME键的效果(实现代码)
  • Android中的Button自定义点击效果实例代码
  • android表格效果之ListView隔行变色实现代码
  • Android实现图片阴影效果的方法
  • Android的Activity跳转动画各种效果整理
  • Android ImageButton自定义按钮的按下效果的代码实现方法分享
  • Android SlidingDrawer 抽屉效果的实现
  • Android Tween动画之RotateAnimation实现图片不停旋转效果实例介绍
  • Android 四种动画效果的调用实现代码
  • Android文本框搜索和清空效果实现代码及简要概述
  • 提升Android应用视觉吸引效果的10个UI设计技巧
  • android使用ExpandableListView控件实现小说目录效果的例子
  • Android动画之3D翻转效果实现函数分析
  • android GridView多选效果的实例代码
  • Android 轻松实现图片倒影效果实例代码
  • android界面布局之实现文本块布局效果示例
  • android显示TextView文字的倒影效果实现代码
  • 申请Android Map 的API Key(v2)的最新申请方式(SHA1密钥)
  • Android瀑布流实例 android_waterfall
  • Android开发需要的几点注意事项总结
  • Android系统自带样式 (android:theme)
  • android 4.0 托管进程介绍及优先级和回收机制
  • Android网络共享软件 Android Wifi Tether
  • Android访问与手机通讯相关类的介绍
  • Android 图标库 Android GraphView
  • Android及andriod无线网络Wifi开发的几点注意事项
  • 轻量级Android开发工具 Android Tools
  • Android 2.3 下StrictMode介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3