Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

手指开始右滑的时候,给一个imageview.setImageResource更换图片然后再取消右滑,整个页面所有第一次view.setvisible(VISIBLE)操作view将显示不出来 #86

Open
LvBing1995 opened this issue Feb 9, 2021 · 6 comments

Comments

@LvBing1995
Copy link

问题描述

复现步骤:1.xml布局中添加三个控件第一个是button,第二个随便再添加一个viewA(xml布局中设置VIEW.GONE),点击button的作用是显示隐藏viewA,第三个是Imageview,然后给imageview随便设置一张图片androdi:src="xxx图片“
2.进入整个页面的时候其他地方不操作,手指开始侧滑,onSwipeAccepted方法中给imageview.setImageResource(yyyy图片)设置成另外一张图片,然后再取消侧滑onClosed方法中把imageview.setImageResource(xxx图片)设置回去。
3.这个时候去点击button,viewA调用了setvisible(VISIBLE)但是无法显示,但是如果第一步骤的时候xml中viewA设置的不是GONE而是INVISIBLE那么如此操作viewA是可以显示的。
备注: 使用侧滑代码:mSmartSwipeWrapper = SmartSwipe.wrap(this);
mSwipeConsumer = mSmartSwipeWrapper.removeAllConsumers()
.addConsumer(new ActivitySlidingBackConsumer())
.setScrimColor(0x7F000000)
.enableLeft();
导入库: implementation 'com.billy.android:smart-swipe-x:1.1.0'
implementation 'com.billy.android:smart-swipe:1.1.0'
ps:谁解决了,希望下面评论和我说下,谢谢

@LvBing1995 LvBing1995 changed the title 手指开始右滑的时候,给一个imageview.setImageResource更换图片然后再取消右滑,整个页面部分view显示问题 手指开始右滑的时候,给一个imageview.setImageResource更换图片然后再取消右滑,整个页面所有第一次view.setvisible(VISIBLE)操作view将显示不出来 Feb 9, 2021
@SimFG
Copy link

SimFG commented Mar 17, 2021

这个你有demo工程吗,看着这个有点抽象

@wapalxj
Copy link

wapalxj commented Mar 18, 2021

我也遇到了,只要是滑动的时候,手指不放开,取消滑动,就会出现view不显示的情况
SmartSwipe.wrap(this)
.addConsumer(SlidingConsumer()
.setDrawerExpandable(true) //horizontal menu
.setHorizontalDrawerView(horizontalMenuWrapper)
//遮罩颜色
.setScrimColor(ResUtils.getColor(R.color.color_40_000000))
.setEdgeSize(100)
.as(SlidingConsumer::class.java))
场景:主页面为viewpager,SlidingConsumer在最上层,手指右滑不放开,滑到一半再左滑隐藏,然后viewpager切换之后,tab里面的view不会显示了

@SimFG
Copy link

SimFG commented Mar 18, 2021

试试把SmartSwipeWrapper中wrapperNestedScroll方法将mHelp置为空的那一部分代码删除试试

mHelper.nestedScrollingDrag(dxUnconsumed, dyUnconsumed, consumed, false);
// 删除这个mHelper清空的试试
if (consumer.getProgress() >= maxProgress || consumer.getProgress() <= 0) {
    mHelper = null;
}

@LvBing1995
Copy link
Author

https://github.com/LvBing1995/TestPlayer.git 我用textureview侧滑取消有时候会出现setvisible无效问题,surfaceview也试了试没复现

@wapalxj
Copy link

wapalxj commented Mar 18, 2021

试试把SmartSwipeWrapper中wrapperNestedScroll方法将mHelp置为空的那一部分代码删除试试

mHelper.nestedScrollingDrag(dxUnconsumed, dyUnconsumed, consumed, false);
// 删除这个mHelper清空的试试
if (consumer.getProgress() >= maxProgress || consumer.getProgress() <= 0) {
    mHelper = null;
}

没有用

@SimFG
Copy link

SimFG commented Mar 30, 2021

找到的原因是:View中的requestLayout方法失效了,调用mParent.isLayoutRequested()这个条件一直为true了,看了下好像是PointsSeekBar这个类下中onDraw方法中addThumbAndPointViews这个调用,把这个删除我就没有复现了。没有找到为什么这个状态没有恢复。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants