2013-12-12 68 views
1

在默認情況下,如果你從左滾動到左右,反之亦然刷卡。反轉滾動方向Horizo​​ntalScrollview

但我想反轉這個動作。所以如果從左向右滑動,則滾動視圖向右移動。是否有XML解決方案,還是必須在代碼中執行此操作?

+1

好奇你爲什麼要這麼做?這非常不直觀。 – deloreyk

+0

我有1個滾動視圖,其中包含一組彼此相鄰的圖像,用戶可以滾動瀏覽,這像一個正常的滾動視圖滾動。需要倒轉的另一個滾動視圖就像是所有圖像的概覽,但隨後變小以適合屏幕,以便用戶在存在大量圖像時可以更快地導航。這些滾動視圖同步移動。我仍然在找出解決這種情況的最佳方式。所以我會嘗試當前的答案。 –

回答

2

我非常不確定這一點,但這些方針的東西:

  1. 攔截觸摸事件
  2. 反轉的X位置
  3. 分發新的倒觸摸事件

代碼(不是真的):

HorizontalScrollView hsv; 
hsv.setOnTouchListener(new OnTouchListener() { 

    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
     // TODO Auto-generated method stub 
     event.setLocation(-1*event.getX(), event.getY()); 
     hsv.dispatchTouchEvent(ev); 
     return true; 
    } 
}) 
0

你可以使用一個GestureDetector監聽左/右刷卡,實施onScroll和/或onFling(可能兩者都有)。如果你想每個手勢通過一個連續的項目滾動視圖,這可能會工作正常。你當然也可以通過這種方式實現連續滾動,但我會認真考慮這種交互是否提供了良好的用戶體驗。通常在觸摸設備上,用戶不會期望滾動以這種方式工作。

http://developer.android.com/training/gestures/detector.html http://developer.android.com/reference/android/view/GestureDetector.html

相關問題