本文介绍了滚动型向下滚动视图的大小发生变化时的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我现在有一个LinearLayout中滚动型。我在动态变化的一些内容,例如设置一个长文本段落动态,并添加动态布局(按钮等)。这会导致线性布局的高度来改变,这会导致滚动型向下滚动。我怎样才能保持当前的滚动位置,而布局正在动态更新?

 <滚动型
    的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
    机器人:layout_width =match_parent
    机器人:layout_height =match_parent
    机器人:fillViewport =真正的>    <的LinearLayout
        机器人:layout_width =match_parent
        机器人:layout_height =WRAP_CONTENT
        机器人:方向=垂直
        机器人:重力=CENTER_HORIZONTAL
        >        <! - 动态内容在这里 - >
    < / LinearLayout中>
< /滚动型>


解决方案

我觉得这个步骤,你可以做到这一点:


  • 创建,从滚动视图扩展自定义滚动视图

  • 定义一个布尔属性启用和禁用滚动

  • 检查的onScollChanged方法的布尔变量,如果是真的返回false

  • 将布尔变量真正加入动态视图到它的容器之前

  • 设置为false添加完成后

我希望这些帮助你。

I currently have a ScrollView with a LinearLayout. I'm changing some content dynamically, e.g. setting a long text passage dynamically, and adding dynamic layouts (buttons etc.). This causes the linear layout's height to change, which causes the ScrollView to scroll down. How can I keep the current scroll position while the layout is being dynamically updated?

<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>
解决方案

I think with this steps you can do it :

  • Create a custom scroll view that extends from scrollview
  • Define a boolean property for enabling and disabling scroll
  • Check the boolean variable on the onScollChanged method and return false if is true
  • Set the boolean variable true before adding dynamic views to it's container
  • Set it to false when adding done

I hope these help you

这篇关于滚动型向下滚动视图的大小发生变化时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-23 10:06