我正在关注此问题:How to stop scrolling in a Gallery Widget?
我试图像我这样实现自定义图库:
public class CustomGallery : Gallery
{
public CustomGallery(Context context, IAttributeSet attrs) :
base(context, attrs)
{
Initialize();
}
public CustomGallery(Context context, IAttributeSet attrs, int defStyle) :
base(context, attrs, defStyle)
{
Initialize();
}
private void Initialize()
{
}
public override bool OnFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
{
Keycode kEvent;
if (isScrollingLeft(e1, e2))
{ //Check if scrolling left
kEvent = Keycode.DpadLeft;
}
else
{ //Otherwise scrolling right
kEvent = Keycode.DpadRight;
}
OnKeyDown(kEvent, null);
return true;
}
private bool isScrollingLeft(MotionEvent e1, MotionEvent e2)
{
return e2.GetX() > e1.GetX();
}
}
我在我的布局中引用了自定义图库,我看到了第一张图片但是当我尝试滚动到下一张图片时没有任何反应。
奇怪的是,如果我删除OnFling的覆盖,我仍然没有在我的画廊中滚动?当然,如果我不覆盖任何东西,我的自定义组件应该像普通的库组件一样?
PS:我要做的就是当我向左或向右滑动时阻止图库滚动浏览多个图像,我想一次滚动一个图像。
感谢任何帮助!
答案 0 :(得分:0)
抓住这篇文章,弄明白了,我在我的活动中重写了OnTouchevent><