Android水平滚动视图按页面滚动

Android水平滚动视图按页面滚动,android,android-widget,slideshow,Android,Android Widget,Slideshow,我已经在我的Android应用程序中使用实现了一个幻灯片放映。这工作得很好,除了我想用滚动手势滚动到下一个图像(现在它只是在减速之前滚动几个图像)。我找不到一个合适的方法来做这件事,我应该使用框架布局来代替吗?如何在滚动手势上滚动到下一个(或上一个)图像 从您的描述来看,您现在的幻灯片演示好像是在scrollview中实现为一系列图像,对吗 您可以显示一个图像,并在图像上收听投掷或滚动手势,而不是将其放置在滚动视图中并允许该视图进行滚动(请参阅)。当您检测到手势时,您可以手动更改图像 如果您想让

我已经在我的Android应用程序中使用实现了一个幻灯片放映。这工作得很好,除了我想用滚动手势滚动到下一个图像(现在它只是在减速之前滚动几个图像)。我找不到一个合适的方法来做这件事,我应该使用框架布局来代替吗?如何在滚动手势上滚动到下一个(或上一个)图像

从您的描述来看,您现在的幻灯片演示好像是在scrollview中实现为一系列图像,对吗

您可以显示一个图像,并在图像上收听投掷或滚动手势,而不是将其放置在滚动视图中并允许该视图进行滚动(请参阅)。当您检测到手势时,您可以手动更改图像


如果您想让它为屏幕上的图像设置动画,您可以使用。

当您发布问题时,您就会意识到答案!我从使用Gallery转到HorizontalScrollView再回到使用Gallery。只是显示了我的N00B。画廊很好地解决了我的问题。我有一个自定义类,它扩展了Gallery并重写onFling(…)。在此过程中,根据方向将velocityX重置为-300或300,这将导致滚动到下一个“页面”。

这就是我最后使用的

    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
        float velocityY) {
    // TODO Auto-generated method stub

    if (velocityX <= 0 ){
        // hack - send event to simulate right key press
        KeyEvent rightKey  = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_RIGHT);
        this.onKeyDown(KeyEvent.KEYCODE_DPAD_RIGHT, rightKey);

        rightKey = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DPAD_RIGHT);
        this.onKeyUp(KeyEvent.KEYCODE_DPAD_RIGHT, rightKey);            

    }else{
        // hack - send event to simulate left key press
        KeyEvent leftKey = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_LEFT);
        this.onKeyDown(KeyEvent.KEYCODE_DPAD_LEFT, leftKey);

        leftKey = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DPAD_LEFT);
        this.onKeyUp(KeyEvent.KEYCODE_DPAD_LEFT, leftKey);
    }


    // your callback activity if you have one:
    if( callbackActivity != null ){
        callbackActivity.didFlingGallery();
    }

    return true;
}
public boolean onFling(运动事件e1、运动事件e2、浮点速度X、,
浮动速度y){
//TODO自动生成的方法存根

如果(velocityX手势文档链接不正确(),你还有正确的链接吗?@ohhorob-Heh,woops,很抱歉。我不确定该链接指向什么,但可能只是android文档:如果你认为答案正确,你可能应该为你的问题选择一个有效的答案