【发布时间】:2011-06-18 16:20:30
【问题描述】:
我将 GridView 用于游戏板。最近一些用户遇到了垂直滚动板的问题(在运行 2.2 的三星 Galaxy / Vibrant 手机上)——这个错误在我的 Nexus One 上没有出现。
一位用户提出了一些screenshots 的问题。
如何将 GridView 锁定到位?有没有办法禁用滚动?
【问题讨论】:
我将 GridView 用于游戏板。最近一些用户遇到了垂直滚动板的问题(在运行 2.2 的三星 Galaxy / Vibrant 手机上)——这个错误在我的 Nexus One 上没有出现。
一位用户提出了一些screenshots 的问题。
如何将 GridView 锁定到位?有没有办法禁用滚动?
【问题讨论】:
尝试为GridView添加或覆盖setOnTouchListener,
然后在onTouch 方法中,您可以使用这样的代码
使gridView 不可滚动
Java
gridView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return event.getAction() == MotionEvent.ACTION_MOVE;
}
});
科特林
gridView.setOnTouchListener { v, event ->
event.action == MotionEvent.ACTION_MOVE
}
【讨论】:
您可以尝试 setEnabled(false),尽管它可能有其他副作用。 GridView 并不是真的要以您使用它的方式使用。您应该创建自己的自定义视图或布局。您也可以使用 TableLayout。
【讨论】: