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時起作用。但是,當我按下背景視差圖像時,我的老闆也希望它能夠工作....所以是的。 –