gpt4 book ai didi

android - ScrollView 在 View 大小改变时向下滚动

转载 作者:太空宇宙 更新时间:2023-11-03 11:09:44 25 4
gpt4 key购买 nike

我目前有一个带有 LinearLayout 的 ScrollView。我正在动态更改一些内容,例如动态设置长文本段落,并添加动态布局(按钮等)。这会导致线性布局的高度发生变化,从而导致 ScrollView 向下滚动。如何在动态更新布局时保持当前滚动位置?

<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical
android:gravity="center_horizontal"
>

<!-- Dynamic Content Here -->
</LinearLayout>
</ScrollView>

最佳答案

我建议的一个选项是将滚动位置保存在一个包中并恢复它。

@Override
protected void onSaveInstanceState(Bundle outState) {
outState.putInt("xPos", scrollView.getScrollX());
outState.putInt("yPos", scrollView.getScrollY());
}

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
int scrollX = savedInstanceState.getInt("xPos"); // Default value 0
int scrollY = savedInstanceState.getInt("yPos");
scrollView.scrollTo(scrollX, scrollY);
}

关于android - ScrollView 在 View 大小改变时向下滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27725496/

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