【发布时间】:2015-06-03 21:00:56
【问题描述】:
我的布局中有一个滚动视图,其中包含很多视图。
在滚动视图中,我为一个特定项目设置了这种布局
<scrollview>
...
<FrameLayout>
<View1/>
<View2 hidden/>
</FrameLayout>
...
</scrollview>
____________ ____________
| | | |
| | | View 2 |
| View 1 | | |
| | | |
| | ------------
------------
我正在像这样为视图设置动画:
- 在某些操作上:将视图 View1 滑出,将 View2 滑入(隐藏 view1)
- 关于其他一些操作:将视图 View2 滑出,将 View1 滑入(隐藏 view2)
我的问题是:在执行这些操作时,滚动视图会自动滚动(看起来不太好)。
可能的原因是:改变视图的可见性。
我尝试了两件事:
- 禁用垂直滚动但没有帮助
记住 onAnimationStart 中的 scrollY 并在 onAnimationEnd 中恢复此滚动位置 - 这种方法的问题是,它可以清楚地看到滚动视图移动(尽管它移动得非常快)。
我想到了这个想法,但我不知道如何实现:保持上视图(框架布局)不变并移动下视图以填充空间,以便垂直scrollY 值保持不变。
有什么方法可以实现吗? 如果没有,还有其他方法可以实现吗?
有没有办法部分重绘滚动视图?
【问题讨论】:
标签: android android-scrollview