Я наконец получил ответ.
Во-первых, вы должны установить ScrollX на определенное значение, соответствующее интервалу пикселей, который вы хотите иметь.
Но проблема этого единственного решения состоит в том, что для выбора элемента вам нужно щелкнуть центр экрана, что несправедливо.
Во-вторых, вы должны переопределить Галерею, реализовать этот OnDoubleTapListener и добавить его пользовательский слушатель (называемый, например, onItemTapListener), например:
public void setOnTapItemMenuListener(OnTapItemMenuListener listener) {
onTapItemMenuListener = listener;
}
Я сделал такой интерфейс для реализации моего нового слушателя:
public interface OnTapItemMenuListener {
public abstract void onTap(int intPosition);
}
И в случае события «onSingleTapConfirmed», реализованного из-за реализации OnDoubleTapListener, вы перехватываете событие и проверяете, что event.getX () находится в определенной позиции, например, так:
if (event.getX() / intWidth > 0.20f && event.getX() / intWidth < 0.45f) {
Log.i("TAG", "onSingleTapConfirmed on the right area, we launch onTap for the Listener");
onTapItemMenuListener.onTap(this.getSelectedItemPosition());
} else {
Log.i("TAG", "onSingleTapConfirmed on the wrong area, we don't launch onTap for the Listener");
}
Где intWidth - ширина в пикселях текущего экрана.