1

有没有办法设置画廊视图,以便一次只能看到一个图像?我创建了一个带有图像缩略图的画廊视图。当用户单击图像时,我想启动一个新活动,该活动在新的画廊视图中显示实际选择的图像。现在,当用户滑动手指时,他可以看到随后的图像。有没有办法做到这一点?

4

3 回答 3

0

在网上搜索时找到了替代解决方案。更简单的解决方案是继承 Gallery 类,并将 onFling 设置为始终返回 false。以下是解决方案的参考:

如何将 Android 图库中的投掷限制为每次投掷仅一项?

这是我根据上面链接中列出的用户“Someone Somewhere”和“vmihalca”的输入的组合实现:

public class SlowGallery extends Gallery {

    public SlowGallery(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

    public SlowGallery(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public SlowGallery(Context context) {
        super(context);
    }

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

}
于 2012-04-29T07:04:36.253 回答
0

我遇到了同样的问题,我做了一个小技巧。在我的情况下,图像是静态的,所以我使用批量重命名将图像编号为 0-100。对相应的缩略图做了同样的事情。我创建了两个活动,一个是 gridview (您可以使用galleryview)用galleryview保存拇指和另一个我为gridview设置onclicklistener以获取单击的拇指的id并将其传递给带有galleryview的活动作为额外的意图。galleryview抓取id 并跳转到具有给定 id 的图像。检查这个

答案和本教程

于 2012-04-22T04:37:42.247 回答
0

您可以将“自定义适配器”用于带有图像视图的图库视图,并在 getView(int position, View convertView, ViewGroup parent)方法中将“match_parent”或“fill_parent”用于自定义适配器中图像视图的“LayoutParams”。

public View getView(int position, View convertView, ViewGroup parent) {

    imageView.setLayoutParams(...);


    return imageView;
}   

参考:
developer.android
developer.android
developer.android

于 2012-04-22T03:20:37.180 回答