我在onDispatchKeyEvent中以编程方式滚动TextView。当我滚动很多时,我可以将文本移动到边框上方或下方,使其仅显示一半。
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_MOVE_HOME && event.getAction() == KeyEvent.ACTION_DOWN) {
outputTextView.scrollBy(0, +50);
}
}
我该如何防止这种情况?
答案 0 :(得分:0)
您可以尝试记住当前位置并检查是否可以再次滚动
curr_pos += 50
if(curr_pos < outputTextView.getBottom()){
outputTextView.scrollBy(0, +50);
}else{
curr_pos -=50
}
或尝试覆盖.onScrollChanged(int, int, int, int)调用的.scrollBy(int, int)。