我有一个列表视图,其中包含大约30个项目。当我向下滚动它时,它只会到达列表的最底部,并且在用户触摸列表时不会停止。
是否有一种方法可以在触摸列表视图时停止滚动,同时用户应该能够使用onItemClick(已处理)进行导航..
谢谢!
答案 0 :(得分:6)
@Override
public boolean onTouchEvent(MotionEvent ev)
{
switch (ev.getAction())
{
case MotionEvent.ACTION_UP:
this.smoothScrollBy(0, 0);
break;
}
return super.onTouchEvent(ev);
}
答案 1 :(得分:0)
通过提及Nitin Gupta的答案,我想出了自己的答案:
public class OnTouchListenr implements OnTouchListener{
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction()==MotionEvent.ACTION_DOWN)
{
businessResultListView.smoothScrollBy(0, 0);
return true;
}
return false;
}
}
然后我在列表视图上设置OnTouchListener,如下所示:
businessResultListView.setOnTouchListener(new OnTouchListenr());
答案 2 :(得分:0)
覆盖Listview中的 dispatchTouchEvent
private void calcPos(double radius) {
int l = sc.Children.Count;
double x, y;
double radians = 90 / (l);
double alpha = 0.0;
int current = 1;
foreach(Image i in sc.Children) {
alpha = 90 - (radians * current);
y = radius * Math.Sin((Math.PI / 180) * alpha);
x = radius * Math.Cos((Math.PI / 180) * alpha);
x = 300 - x; //Window Size
y = 300 - y; //Window Size
i.Margin = new Thickness(x,y,0,0);
current++;
}
}