【问题标题】:Android - How to prevent a user interacting with GalleryAndroid - 如何防止用户与图库进行交互
【发布时间】:2011-03-20 17:53:18
【问题描述】:

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

我只需要以编程方式进行选择,我目前正在这样做。我只是不希望用户能够自己投掷、滚动、选择、长按等。所以不需要用户交互。

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

谢谢。

【问题讨论】:

    标签: android gallery interactive non-interactive


    【解决方案1】:

    尝试将您的画廊视图的clickable 和focusable 属性设置为false。

    【讨论】:

    • 感谢您的建议,但没有任何区别。我尝试了很多:- g.setClickable(false); g.setLongClickable(false); g.setFocusable(false); g.setFocusableInTouchMode(false);
    • 其他人有什么建议吗?我尝试在顶部放置一个透明视图,但这也不起作用!
    【解决方案2】:

    以下对我有用:

    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;
        }
    };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-03
      • 1970-01-01
      • 1970-01-01
      • 2013-12-20
      • 2019-07-19
      • 2015-02-25
      • 2015-08-16
      • 1970-01-01
      相关资源
      最近更新 更多