Android - 如何阻止用户与图库交互

发布于 2024-09-11 04:03:54 字数 257 浏览 8 评论 0原文

好的,我知道这个问题一开始听起来很奇怪,因为画廊被设计为用户交互,但是,我喜欢画廊功能,因为它满足我的很多需求。即我可以给它一些图片,将它们从右到左或从左到右移动,并在选择其中一张图片时为它们添加动画(在我的例子中是缩放)。所以一切都好。

我只需要以编程方式进行选择,我目前正在工作。我只是不希望用户能够自己滑动、滚动、选择、长按等。因此不需要用户交互。

那么,我怎样才能阻止用户做这些事情,而无需自己编写图库功能(并且不会砍掉用户的手指!)。

谢谢。

OK, I know this questions sounds weird at first, as GALLERY is designed to be user interactive, but, I like the Gallery functionality, as it suits a lot of my needs. i.e. I can give it a number of pictures, move the whole of them from right to left, or left to right and get them an animate (in my case, zoom) when one of them is selected. So all good.

I just need to do the selection programatically, which I currently have working. I just don't want the user to be able to fling, scroll, select, longpress, etc. by themselves. So no user interaction is required.

So, how can I prevent a user from doing theses things, without writting a gallery function myself (and without chopping a users fingers off!).

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

你对谁都笑 2024-09-18 04:03:54

尝试将图库视图的 clickablefocusable 属性设置为 false

Try setting the clickable and focusable properties of your Gallery View to false.

居里长安 2024-09-18 04:03:54

以下对我有用:

Gallery gallery = new Gallery( ctx ) {
    @Override
    public boolean onTouchEvent(MotionEvent event) {
        return true;
    }
};

如果仍然留下一些互动,您也可以尝试:

Gallery dotList = new Gallery( ctx ) {
    @Override
    public boolean onTouchEvent(MotionEvent event) {
        return true;
    }

    @Override
    public boolean onSingleTapUp(MotionEvent e) {
        return true;
    }

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

Following worked for me:

Gallery gallery = new Gallery( ctx ) {
    @Override
    public boolean onTouchEvent(MotionEvent event) {
        return true;
    }
};

If some interaction is still left you can also try:

Gallery dotList = new Gallery( ctx ) {
    @Override
    public boolean onTouchEvent(MotionEvent event) {
        return true;
    }

    @Override
    public boolean onSingleTapUp(MotionEvent e) {
        return true;
    }

    @Override
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
        return true;
    }
};
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文