gpt4 book ai didi

android - 如何在按下按钮时使 ScrollView 滚动?

转载 作者:行者123 更新时间:2023-11-29 19:46:48 26 4
gpt4 key购买 nike

我的问题实际上很简单,我找不到解决我问题中提到的问题的方法。我尝试了 AsyncTask,它根本不起作用,还尝试了按钮的 OnFocusChange 事件……我现在有点绝望。

希望大家帮帮忙! :)

异步任务版本:

private void creationVoid(){
(...)
btScrollDown.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN)
downPressed = true;
if(event.getAction() == MotionEvent.ACTION_UP)
downPressed = false;
new ScrollDownTask().execute();
return true;
}
});
(...)
}


private void scrollDown(){
btScrollUp.setVisibility(View.VISIBLE);
scrollView.scrollTo(scrollView.getScrollX(), scrollView.getScrollY() + 15);
if(scrollView.getScrollY() == scrollView.getChildAt(scrollView.getChildCount()-1).getBottom() - 763) {
btScrollDown.setVisibility(View.GONE);
}
}

private class ScrollDownTask extends AsyncTask<String, Void, String>{
@Override
protected String doInBackground(String... params) {return null;}

@Override
protected void onPostExecute(String s) {
while(downPressed)
scrollDown();
}
}

OnFocusChange 版本:

private void creationVoid(){
(...)
btScrollDown.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
while(hasFocus)
scrollDown();
}
});
(...)
}

最佳答案

按下按钮时,可以调用smoothScrollBysmoothScrollTo 方法。但是,您必须根据您的要求计算 ScrollView 的量。希望这可以帮助。

https://developer.android.com/reference/android/widget/ScrollView.html#smoothScrollBy(int,%20int)

关于android - 如何在按下按钮时使 ScrollView 滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37455452/

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