0
我有这个听者viewpager调用触摸事件。以一个视图的触摸监听和另一种观点认为
pager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
Float translation = position * viewpagerWidth *Constants.density;
if(positionOffset != 0)
image.setTranslationX(- translation -(positionOffsetPixels * Constants.density)/12);
}
@Override
public void onPageSelected(int position) {
page = position;
mButtons.updateViewIntro(position + 1);
switch (position){
case 0:
title.setText(getString(R.string.passenger_name));
subtitle.setText(getString(R.string.intro_passenger_subtitle));
new FadeOutAnimation(arrowleft).animate();
break;
case 1:
title.setText(getString(R.string.intro_mileage));
subtitle.setText(getString(R.string.intro_mileage_subtitle));
if(arrowleft.getVisibility() == View.GONE || arrowleft.getVisibility() == View.INVISIBLE)
new FadeInAnimation(arrowleft).animate();
if(arrowright.getVisibility() == View.GONE || arrowright.getVisibility() == View.INVISIBLE)
new FadeInAnimation(arrowright).animate();
break;
case 2:
title.setText(getString(R.string.intro_analytics));
subtitle.setText(getString(R.string.intro_analytics_subtitle));
new FadeOutAnimation(arrowright).animate();
break;
}
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
我的问题是:如果我有另一个视图,在底部,这是没有任何连接到这个viewpager。是否可以在它上面设置一个触摸监听器,并使其可以调用viewpager的onPageChangeListener? 正如在,我想通过按另一个对象滚动viewpager。 (我需要将其添加到图像上也是如此)
不是我所需要的。 举例:您知道何时不会更改viewpager页面,但只需将viewpager滚动到例如一半。你在听者的ScrollOffset以像素为单位获得,等... 我想摸摸另一种观点认为,这是下面,并在该视图的触摸事件,它viewpager通过它托特他,让onPageChanged监听器被调用,并从中获取像素的ScrollOffset。基本上,如果我刷卡从底部的观点,我怎么看viewpager移动... –
我不明白你为什么会想这样做,似乎不直观的通过在一个单独的视图拖动手指来滚动视图(用户应该如何学习?)。但是,您可以通过为视图定义触控侦听器,然后使用视图中的事件调用mPager.onTouch(event)来实现它。 – Francesc
谢谢。将现在尝试。好。我在页面中间有一个viewpager。我有一个比屏幕更大的背景,并且它是我翻译的图像视图,创建了视差效果。这在我滚动viewpager时起作用。但是,当我按下背景视差图像时,我的老板也希望它能够工作....所以是的。 –