SLaks 2013-07-01 06:03 采纳率: 0%
浏览 2053

如何改变 gallery 的 scrollview

MyGallery gallery = (MyGallery)findViewById(R.id.gallery_photo);
PhonePhotoViewerAdapter = new PhonePhotoViewerAdapter(this, FilePath);
gallery.setAdapter(PhonePhotoViewerAdapter);
gallery.setSelection(0);

我使用上面的代码用 scrollview 来显示照片。
但是如果我想显示下一个照片,我得在屏幕上用手指划很长的距离。
我想短距离滑动来变换。
如何实现?
我修改了 Gallery:

@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
if (e1.getX() - e2.getX() > 50  && Math.abs(velocityX) > 100) {    
// Fling left 
} else if (e2.getX() - e1.getX() > 50 && Math.abs(velocityX) > 100) {    
// Fling right 
}  
return false;
}

如下:

gallery.setLongClickable(false);
gallery.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            // TODO Auto-generated method stub
            int action = event.getAction();
            if((action == MotionEvent.ACTION_DOWN) && !Clicking) {
                StartX = event.getX();
                StartIndex = gallery.getSelectedItemPosition();
                Clicking = true;
            }
            else if((action == MotionEvent.ACTION_UP) && Clicking) {
                EndX = event.getX();
                EndIndex = gallery.getSelectedItemPosition();
                Clicking = false;
                if(((EndX - StartX) > 50) && (StartIndex == EndIndex)) {
                    if(EndIndex > 0) {
                        gallery.setSelection(EndIndex - 1);
                    }
                }
                else if(((StartX - EndX) > 50) && (StartIndex == EndIndex)) {
                    if(EndIndex < count - 1) {
                        gallery.setSelection(EndIndex + 1);
                    }
                }               
            }
            return false;
        }
    });

但是显示还是不正常。

  • 写回答

1条回答 默认 最新

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料