Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 视图设置延迟完成可视性_Java_Android_Android Layout_Android Studio_Android Gesture - Fatal编程技术网

Java 视图设置延迟完成可视性

Java 视图设置延迟完成可视性,java,android,android-layout,android-studio,android-gesture,Java,Android,Android Layout,Android Studio,Android Gesture,我试图为用户的“喜欢”和“不喜欢”按钮创建自定义视图 如果我滑动L->R,它将显示“相似”按钮,滑动R->L将显示“不相似”按钮 由于单击视图顶部会触发单击下面的按钮,因此如果按钮未显示,我必须使其不可见 我使用我的自定义手势检测器来检测滚动,并移动俯视图以显示下面的按钮 private Handler setLikeWrapperVisibility = new Handler(new Handler.Callback() { @Override publi

我试图为用户的“喜欢”和“不喜欢”按钮创建自定义视图

如果我滑动L->R,它将显示“相似”按钮,滑动R->L将显示“不相似”按钮

由于单击视图顶部会触发单击下面的按钮,因此如果按钮未显示,我必须使其不可见

我使用我的自定义手势检测器来检测滚动,并移动俯视图以显示下面的按钮

 private Handler setLikeWrapperVisibility = new Handler(new Handler.Callback() {
        @Override
        public boolean handleMessage(Message msg) {
        //    Log.i(TAG, "likeWrapper: " + (msg.what == VISIBLE ? "VISIBLE" : "INVISIBLE"));
            likeWrapper.setVisibility(msg.what);
            return true;
        }
    });
在自定义手势检测器中

@Override
        public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
            move(distanceX);
            if (isLeftOpen() > 0) {
                if (dislikeWrapper.getVisibility() == VISIBLE)
                    setDislikeWrapperVisibility.sendEmptyMessage(INVISIBLE);
                if (likeWrapper.getVisibility() == INVISIBLE) {
                    setLikeWrapperVisibility.sendEmptyMessage(VISIBLE);
                }
            } else if (isRightOpen() > 0) {
                if (likeWrapper.getVisibility() == VISIBLE)
                    setLikeWrapperVisibility.sendEmptyMessage(INVISIBLE);
                if (dislikeWrapper.getVisibility() == INVISIBLE)
                    setDislikeWrapperVisibility.sendEmptyMessage(VISIBLE);
            }
            return true;
        }
但是,当按钮的可见性更改为
View.VISIBLE
(可能是500毫秒)时,会发生延迟。即使俯视图从侧面移动。下面的按钮没有立即出现