`
denyx123
  • 浏览: 42402 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Android UI开发第八篇——ViewFlipper

 
阅读更多
怎么实现Android主页面的左右拖动效果。其实实现起来很简单,就是使用ViewFlipper来将您要来回拖动的View装在一起,然后与GestureDetector手势识别类来联动,确定要显示哪个View,加上一点点动画效果即可。

java code:
public class TestFlip 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.ViewFlipper01);
               
                flipper.addView(addView(R.layout.layout1));
                flipper.addView(addView(R.layout.layout2));
                flipper.addView(addView(R.layout.layout3));
                flipper.addView(addView(R.layout.layout4));       
        }

        private View addView(int layout) {
                LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                View view = inflater.inflate(layout, null);
                return view;
        }

        @Override
        public boolean onTouchEvent(MotionEvent event) {
                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;
        }
}

xml code:
<?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:id="@+id/ViewFlipper01"
                android:layout_width="fill_parent" android:layout_height="fill_parent">
        </ViewFlipper>
</LinearLayout>
分享到:
评论

相关推荐

    UI开发第八篇——ViewFlipper 左右滑动效果

    在Android UI开发中,实现界面元素的动态交互是提升用户体验的关键之一。本篇将深入探讨如何利用ViewFlipper组件和GestureDetector类实现左右滑动切换视图的效果,这在主页面或多个内容区域展示的场景中非常常见。 ...

    安卓Android源码——ViewFlipper水平滑动.rar

    【标题】"安卓Android源码——ViewFlipper水平滑动.rar"揭示了关于Android平台下ViewFlipper组件的实现细节,特别关注其水平滑动功能。ViewFlipper是Android SDK提供的一种视图容器,用于在多个视图之间进行平滑切换...

    安卓Android源码——ViewFlipper1.rar

    在Android开发中,ViewFlipper是一个非常实用的控件,用于在多个视图之间进行切换,常用于实现轮播图、动画效果等场景。在这个"安卓Android源码——ViewFlipper1.rar"压缩包中,我们可以期待看到一个关于ViewFlipper...

    安卓Android源码——ViewFlipper水平滑动.zip

    "安卓Android源码——ViewFlipper水平滑动"这个标题指出我们将探讨的是Android操作系统中的一个特定组件,即ViewFlipper,并且关注的是它的水平滑动功能。ViewFlipper是Android SDK提供的一种布局管理器,它允许用户...

    Android基础控件——ViewFlipper的使用,仿淘宝头条垂直广告条

    在Android开发中,ViewFlipper是一个非常实用的控件,它允许我们轻松地在多个视图之间进行切换,常用于实现动画效果,如轮播图、广告条等。本篇文章将详细讲解如何利用ViewFlipper来创建一个类似淘宝头条垂直广告条...

    安卓Andriod源码——ViewFlipper水平滑动.zip

    "安卓Andriod源码——ViewFlipper水平滑动.zip" 这个标题揭示了我们要探讨的核心内容:一个关于Android平台的源代码项目,它专注于实现ViewFlipper组件的水平滑动功能。ViewFlipper是Android SDK中的一个视图容器,...

    安卓Android源码——ViewFlipper2.rar

    在Android开发中,`ViewFlipper`是一个非常实用的视图切换组件,它允许开发者轻松地在多个子视图之间进行动态切换,常用于实现轮播图、动画过渡等效果。`ViewFlipper2.rar`可能包含了一份针对`ViewFlipper`组件的...

    安卓Android源码——ActivityGroup + GridView + ViewFlipper 实现选项卡.rar

    在安卓开发中,构建用户界面是一项关键任务,而ActivityGroup、GridView和ViewFlipper是实现动态、交互式UI的重要组件。这份"安卓Android源码——ActivityGroup + GridView + ViewFlipper 实现选项卡.rar"的压缩包...

    安卓Android源码——Gallery+ImageSwitcher+ViewFlipper实现手机查看壁纸效果.zip

    本示例源码"安卓Android源码——Gallery+ImageSwitcher+ViewFlipper实现手机查看壁纸效果"就是这样一个功能的实现,主要涉及了三个关键组件:Gallery、ImageSwitcher和ViewFlipper。 1. **Gallery组件**:Gallery是...

    Android源码——GridView + ViewFlipper布局界面,模仿“机锋市场.7z

    本项目“Android源码——GridView + ViewFlipper布局界面,模仿“机锋市场”是一个实例,展示了如何利用这两个组件来实现类似应用商店的布局效果。 **GridView** 是一个二维网格视图,它可以展示一系列的项目,每个...

    安卓Android源码——Gallery+ImageSwitcher+ViewFlipper实现手机查看壁纸效果.rar

    这个压缩包"安卓Android源码——Gallery+ImageSwitcher+ViewFlipper实现手机查看壁纸效果.rar"提供了一个实现这种功能的示例代码,主要涉及到`Gallery`、`ImageSwitcher`和`ViewFlipper`这三个组件的使用。...

    Android仿淘宝头条滚动广告条 ViewFlipper

    在Android应用开发中,我们经常需要创建各种交互式的UI组件,其中之一就是仿淘宝头条的滚动广告条。这个功能可以吸引用户的注意力,展示重要的促销信息或热门商品。在本篇文章中,我们将深入探讨如何使用`...

    Android使用ViewFlipper实现Switch动画特效。

    在Android开发中,ViewFlipper是一个非常有用的布局组件,它允许开发者轻松地在多个视图之间切换,并且可以添加各种动画效果,使用户界面更加生动和互动。本篇将深入探讨如何利用ViewFlipper实现Switch动画特效,...

    Android应用源码ActivityGroup + GridView + ViewFlipper 实现选项卡.zip

    在Android应用开发中,标题"Android应用源码ActivityGroup + GridView + ViewFlipper 实现选项卡.zip"所涉及的关键技术主要包括三个部分:ActivityGroup、GridView和ViewFlipper。这些都是Android UI设计中的重要...

    Android 滑动效果ViewFlipper

    在Android开发中,我们常常需要实现各种动画效果来提升用户体验,其中滑动切换视图是一种常见的交互方式。`ViewFlipper`是Android SDK提供的一种布局容器,它允许我们在多个子视图之间进行平滑的滑动过渡,非常适合...

    Android使用ViewFlipper做页面切换,与手势滑动切换的使用

    Android系统自带有一个多页面管理的控件:ViewFlipper. 它可以简单实现子页面的切换,,, 它只需使用addView方法添加几个View,每个View对应的是一个页面,即可完成对于多页面的管理,,, 在android上实现手势...

    Android ViewFlipper Animation 使用

    在Android开发中,ViewFlipper是一个非常有用的布局组件,它允许开发者轻松地在多个视图之间切换,同时还可以添加动画效果,使得用户界面更加生动和交互性更强。本篇文章将详细探讨如何在Android应用程序中使用...

    android ViewFlipper

    在Android开发中,`ViewFlipper`是一个非常实用的视图切换组件,它允许开发者轻松地在多个子视图之间进行动画切换。本项目提供了一个简单的`ViewFlipper`实现,便于初学者理解和掌握其用法。下面我们将深入探讨`...

Global site tag (gtag.js) - Google Analytics