如何获取滚动视图的滚动量
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 中为表格视图和滚动视图设置偏移量,以便两者一起滚动