作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的问题实际上很简单,我找不到解决我问题中提到的问题的方法。我尝试了 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();
}
});
(...)
}
最佳答案
按下按钮时,可以调用smoothScrollBy
或smoothScrollTo
方法。但是,您必须根据您的要求计算 ScrollView 的量。希望这可以帮助。
https://developer.android.com/reference/android/widget/ScrollView.html#smoothScrollBy(int,%20int)
关于android - 如何在按下按钮时使 ScrollView 滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37455452/
我是一名优秀的程序员,十分优秀!