Итак, у меня есть собственный PagerAdapter, используемый для представления сетки 4х4 с 4 изображениями.Этот PagerAdapter установлен на пользовательский ViewPager (с отключенной подкачкой).Теперь проблема в том, что когда я пытаюсь вызвать метод getLocationOnScreen()
в ImageView, я получаю в качестве вывода некоторые странные координаты (x = 1146, y = 457), которые не кажутся хорошими координатами (координата x шире, чем фактический экран?).Вот код:
public Object instantiateItem(@NonNull ViewGroup container, int position) {
layoutInflater = LayoutInflater.from(mContext);
Object object = mObjectList.get(position);
View view = layoutInflater.inflate(R.layout.layout_card, container, false);
TextView tvTextView = view.findViewById(R.id.tvTextView);
ivImage1 = view.findViewById(R.id.ivSelectedImage1);
ivImage1.setOnTouchListener(new View.OnTouchListener() {
private GestureDetector gestureDetector = new GestureDetector(mContext, new GestureDetector.SimpleOnGestureListener() {
@Override
public boolean onDoubleTap(MotionEvent e) {
//Toast.makeText(mContext, "DOUBLE CLICK", Toast.LENGTH_SHORT).show();
ivImage1.getLocationOnScreen(ivLocation);
listener.performLikeAnimation(ivLocation, ivImage1.getWidth(), ivImage1.getHeight());
return super.onDoubleTap(e);
}
});
@Override
public boolean onTouch(View v, MotionEvent event) {
gestureDetector.onTouchEvent(event);
return true;
}
});
container.addView(view);
return view;
}
Подскажите, пожалуйста, что я делаю не так?У меня была похожая реализация с RecyclerView с разметкой сетки, и я смог получить хорошие координаты, когда я дважды коснулся конкретного изображения.Однако мне пришлось поменяться с этой реализацией, потому что я не мог заставить ее прокручиваться, как ViewPager.Основная цель состоит в том, чтобы реализовать что-то вроде карт прокрутки Tinder, но только по горизонтали и проведите левой кнопкой мыши по функциональности.Заранее спасибо.