默认情况下,当点击一个图库项目时,图库会自动滚动以居中点击的项目。我如何覆盖这种行为?我不希望画廊在点击时滚动到中心位置,我希望它保持在原来的位置。android图库没有滚动点击
回答
我认为这是一个正确的解决办法:
@Override
public boolean onSingleTapUp(final MotionEvent e) {
boolean handled = super.onSingleTapUp(e);
onDown(e);
return handled;
}
图库有一个方法来覆盖这个。
gallery.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView parent, View v, int position, long id) {
Toast.makeText(HelloGallery.this, "" + position, Toast.LENGTH_SHORT).show();
}
});
}
我没有尝试这样做...但你可以尝试以下方法:
在onItemClickListener.onItemClick()
,使用Gallery.getSelectedItemPosition()
确定当前选择的位置,然后设置使用Gallery.setSelection(int position)
位置。我不知道这是否会奏效,但你可以试试看。
还有你可以尝试利用的OnItemSelectedListener
。
我从未使用过画廊前(其实我只好眼睁睁地看着YouTube观看,它首先是视觉效果;-)
所以我在画廊的源代码,并挖在我看来,他们已经追平这个选择对于定位来说相当重要,所以你必须重写这个类,并且进行一些沉重的代码黑客攻击,甚至反射,才能达到你的目标。我甚至不知道你是否会成功。
这不是一个解决方案,但一个提示,如果你想知道,;-)
只是回到这个。从我所能找到的内容来看,你所说的是正确的。我将不得不尝试复制图库源代码并实现为我自己的图库类。如果任何人有任何关于这个话题的推荐阅读,那将是很棒的。谢谢。 – drod
我认为这是你在找什么,你应该期待什么。
首先创建一个从库扩展一个类,然后重写onSingleTapUp方法:
@Override
public boolean onSingleTapUp(final MotionEvent e) {
final OnItemClickListener listener = getOnItemClickListener();
final View selectedView = getSelectedView();
final float tapX = e.getRawX();
final float tapY = e.getRawY();
if ((selectedView != null) && (listener != null)
&& (tapX >= selectedView.getLeft()) && (tapX <= selectedView.getRight())
&& (tapY >= selectedView.getTop()) && (tapY <= selectedView.getBottom())) {
final int selectedPosition = getSelectedItemPosition();
listener.onItemClick(this, selectedView, selectedPosition, selectedPosition);
}
return true;
}
不幸的是我好像不有能力评论其他人的帖子,但对于任何发现此问题但有问题的人,请注意,如果您正在创建自定义图库来覆盖onSingleTap
方法(如Ohgema所建议的),那么您需要覆盖constructor that takes a Context
and an AttributeSet
。
- 1. css + Android - 滚动/列表视图没有点击响应
- 2. android中没有生成滚动视图
- 3. 滚动RichEdit没有焦点
- 4. Achive滚动滚动视图没有
- 5. 没有敲击声按钮点击 - android
- 6. 按钮不可点击的滚动视图Android
- 7. Android - 按钮点击滚动到视图顶部
- 8. Android的按钮点击不火内滚动视图
- 9. 展开父div没有滚动时,子div按钮点击
- 10. 在Visual Studio 2010中没有中点击滚动?
- 11. Android - 滚动大量的项目没有滚动视图/列表视图/ Gridview
- 12. 点击滚动里面div
- 13. imageView可点击和滚动
- 14. ASP.NET类库没有击中断点
- 15. 滚动视图内滚动视图android
- 16. Android图库部件无限滚动
- 17. Android:可滚动图片库布局
- 18. 按钮没有响应点击 - Android
- 19. 点击Android按钮,但没有发生?
- 20. Android SearchBar没有点击按钮
- 21. 没有点击事件的Android通知?
- 22. 图片幻灯库点击活动
- 23. 滚动PagerView没有在Android Studio中
- 24. 当锚点点击时滚动div 30px
- 25. android - 如何点击时移动图像?
- 26. Android图像移动按钮点击
- 27. Android Expandable ListView自动滚动到底部时,我点击组
- 28. Android:按钮被点击但方法没有启动
- 29. 滚动大图android
- 30. Android滚动图像
我终于重新测试了这一点。这很好,谢谢你,我已经放弃了这个高兴,我检查了。 – drod
它确实有效! – androidGuy