如何在android中滑动图像+文本

时间:2011-03-01 14:37:51

标签: android android-layout

enter image description here

大家好,请您建议我如何开始工作,只获得图像+文本的滑动效果。实际上,我们有一个RSS链接,我们需要从该链接获取并显示如上所示的图像和描述。我已完成关于左/右箭头的RSS数据提取和图像显示,但我无法在图像上添加滑动效果。在许多示例中,使用onTouchEvent()方法,但它适用于整个布局滑动,我不想要这种效果。

由于
VENU

3 个答案:

答案 0 :(得分:2)

VENU,

创建包含ImageView和TextView

的自定义视图

您可以在任何视图上设置手势监听器。 代码看起来像这样:

protected static final float LARGE_MOVE = 60;
private SimpleOnGestureListener gestureListener;
private GestureDetector gestureDetector;

gestureListener = new SimpleOnGestureListener() {
            @Override
            public boolean onFling(android.view.MotionEvent e1,
                    android.view.MotionEvent e2, float velocityX,
                    float velocityY) {

                int _index = //your current image
                int _size = //number of images you have to swipe through

                if (e1.getX() - e2.getX() > LARGE_MOVE) {
                    // Log.d("swipe", "SWIPE LEFT");
                    _index += 1;
                    if (_index > _size - 1) {
                        _index = 0;
                    }

                    return true;
                } else if (e2.getX() - e1.getX() > LARGE_MOVE) {
                    // Log.d("swipe", "SWIPE RIGHT");
                    _index -= 1;
                    if (_index < 0) {
                        _index = _size - 1;
                    }
                    return true;

                }
                return false;
            };
        };
        gestureDetector = new GestureDetector(this, gestureListener);

然后你需要将触摸事件传递给你的手势探测器。

@Override
    public boolean onTouchEvent(MotionEvent event) {
        return gestureDetector.onTouchEvent(event);
    }

通过滑动手势,您可以跟踪自己所处数据的位置。 然后,只需更新文本和imageView即可,或者如果需要设置动画,只需在自定义视图的两个或多个实例之间设置动画即可。

希望有所帮助。祝你好运

答案 1 :(得分:1)

您正在寻找ViewPager

这将是一个很好的链接开始。 http://android-developers.blogspot.in/2011/08/horizontal-view-swiping-with-viewpager.html

您无需管理触摸事件。您只需添加要刷的视图。

答案 2 :(得分:0)

最简单的方法是用Gallery替换ImageView。它是一个简单的小部件,用于显示旋转的图像条带。然后,您可以实现其中一个回调(onFling可以工作),以了解何时为下面的列表视图加载新数据。

以下是使用图库小部件的官方Android tutorial

干杯