2011-11-21 17 views
0

是否有自定義圖庫的方法,使得一個滑動手勢僅通過單個項目向前移動圖庫?圖庫 - 鎖定滑動手勢,一次只能在適配器上推進一個項目?

例如,我在我的圖庫中有5個項目。當我滑動時,它會盡可能快地滾動內容,而且我通常只用一次滑動即可打開畫廊的盡頭。理想情況下,任何力量的滑動只會前進到適配器中的下一個項目。

我可能用ViewSwitcher要做到這一點,而不是,好像畫廊90%的方式在那裏等我,雖然,

感謝

+0

我建議你不要那樣做。您的用戶習慣於滑動方式。如果你改變它,他們會覺得你的應用程序是slu is,奇怪或兩者兼而有之。 – zmbq

+0

可能的重複http://stackoverflow.com/questions/4311854/how-can-i-limit-fling-in-android-gallery-to-just-one-item-per-fling –

回答

3

我只是有這個問題。下面是我如何解決它:

創建一個擴展庫的自定義庫:

public class CustomGallery extends Gallery { 


    public CustomGallery(Context context, AttributeSet attrSet) { 
     super(context,attrSet); 
    } 

@Override 
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, 
      float velocityY) { 
return false 
} 

然後在你的XML佈局使得使用該定製庫畫廊插件:在

<com.CustomGallery 
     android:id="@+id/gallery1" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"/> 

然後你主要活動調用該自定義圖庫如下:

public class mainactivity extends Activity{ 


    private CustomGallery myGallery; 
@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.yourlayout); 

     myGallery = (CustomGallery)findViewById(R.id.gallery1); 

... 

這對我有用,alt hough有問題,因爲你可能會也可能不會發現,取決於你的實現......祝你好運。

相關問題