Java 视图设置延迟完成可视性
我试图为用户的“喜欢”和“不喜欢”按钮创建自定义视图 如果我滑动L->R,它将显示“相似”按钮,滑动R->L将显示“不相似”按钮 由于单击视图顶部会触发单击下面的按钮,因此如果按钮未显示,我必须使其不可见 我使用我的自定义手势检测器来检测滚动,并移动俯视图以显示下面的按钮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
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毫秒)时,会发生延迟。即使俯视图从侧面移动。下面的按钮没有立即出现