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 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算