gpt4 book ai didi

java - 保存ScrollView位置

转载 作者:太空宇宙 更新时间:2023-11-04 10:27:33 24 4
gpt4 key购买 nike

我已经找到了这个问题的解决方案,但效果不太好。它将恢复某些位置,但不完全恢复。如果在顶部放置一些标题,则在轮换时,顶部不会是相同的标题,但也不会将其放回顶部。我有不同的纵向和横向用户界面,所以我使用了这段代码

@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putIntArray(SCROLL_STATE_KEY, new int[]{mScrollView.getScrollX(),
mScrollView.getScrollY()});
}

@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
final int[] scrollPosition = savedInstanceState.getIntArray(SCROLL_STATE_KEY);
if(scrollPosition != null) {
mScrollView.post(new Runnable() {
@Override
public void run() {
mScrollView.scrollTo(scrollPosition[0], scrollPosition[1]);
}
});
}
}

这是 gif。它太快了,但是,我不能在这里放置超过 2MB,所以,希望你能看到什么地方不能正常工作

scrollGif

最佳答案

不是源代码的解决方案,而是如何实现用户友好的想法:

在旋转之前,我将获取 ScrollView 的第一个可见的几个单词/图像的(文本)内容,并尝试滚动 ScrollView ,以便这些单词/图像在旋转后再次位于 ScrollView 的顶部。

我还没有对 float 文本执行此操作,但对 ListView 和网格成功执行此操作。

关于java - 保存ScrollView位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50366766/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com