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