图库 - 锁定滑动手势以在适配器中一次只前进一个项目?

时间:2011-11-21 15:33:59

标签: android

有没有办法自定义图库,以便一个滑动手势只能通过一个项目推进图库?

例如,我的图库中有5个项目。当我滑动时,它会尽可能快地滚动内容,我通常只需轻轻一击即可到达画廊的末尾。理想情况下,任何力的滑动都只会前进到适配器中的下一个项目。

我可能会使用ViewSwitcher来做这件事,看起来画廊对我来说是90%的方式,

由于

1 个答案:

答案 0 :(得分: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);

...

这对我有用,虽然它有问题,你可能会或可能不会发现,取决于你的实施......祝你好运。