如何获取滚动视图的滚动量

Posted

技术标签:

【中文标题】如何获取滚动视图的滚动量【英文标题】:how to get amount of scroll for a scrollview 【发布时间】:2014-03-13 13:42:53 【问题描述】:

如何获取用户在滚动视图中滚动的像素数量。我有一个包含大量文本的滚动视图。我在屏幕底部也有一个按钮。我想要的是将按钮上的文本更改为在滚动视图中完成的滚动量。

这是我的滚动视图:

 <ScrollView 
    android:layout_
    android:layout_
    android:id="@+id/scrollverbal"
    >

    <LinearLayout 
        android:orientation="vertical"
        android:layout_
    android:layout_
    >

    <TextView 
         android:layout_
    android:layout_
     android:id="@+id/verbalintro"
     android:textSize="15sp"
     />

    <View 
        android:layout_
        android:layout_
    />

    <TextView 
         android:layout_
         android:layout_
         android:id="@+id/verqstns"
         android:textSize="15sp"
    />

  </LinearLayout>  

</ScrollView>

我的按钮是

 <Button
android:id="@+id/button1"
android:layout_
android:layout_
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:text="15" 
android:background="@android:color/transparent"
android:textSize="20sp"
android:textStyle="bold"
android:drawablePadding="-5sp"
android:paddingLeft="10sp"
android:drawableLeft="@drawable/tick"
/>

我读到它可以使用getScrollY() 方法来完成。但不知道如何以编程方式使用它。

【问题讨论】:

【参考方案1】:

这可能对你有帮助

https://***.com/a/5966375/472336

通过 id 您的 scoolview 为您的 btn findview 设置点击侦听器,然后调用此方法并将其设置为按钮文本

【讨论】:

像这样:final Button answer= (Button) findViewById(R.id.answernumber); answer.setOnClickListener(new View.OnClickListener() @Override public void onClick(View v) // TODO 自动生成的方法存根 ScrollView scrver = (ScrollView) findViewById(R.id.scrollverbal); int scrollposition = scrver.getScrollY (); answer.setText(scrollposition); ); 我想要的只是文本应该随着用户滚动而改变 为此,您必须在滚动视图的滚动侦听器中设置按钮文本,以便此链接可以帮助您***.com/a/10713501/472336【参考方案2】:

试试这个,scrollX 在 x 轴上滚动 pix,在 Y 轴上滚动 y 轴

scrollX = scrollView.getScrollX();
scrollY = scrollView.getScrollY();

Refer this for doc

【讨论】:

以上是关于如何获取滚动视图的滚动量的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 中为表格视图和滚动视图设置偏移量,以便两者一起滚动

在iOS中从左到右滚动时如何在Web视图中获取滚动方向?

如何在 iOS 中获取多个滚动视图的索引

如何让表格视图滚动到图像视图上方?

使用 UIScrollView 和 PageControl 定义滚动量

从相机胶卷中获取所有图像并将其显示在滚动视图上?