Android:阻止TextView以编程方式滚动边框

时间:2015-06-01 14:22:05

标签: android scroll

我在onDispatchKeyEvent中以编程方式滚动TextView。当我滚动很多时,我可以将文本移动到边框上方或下方,使其仅显示一半。

@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_MOVE_HOME && event.getAction() == KeyEvent.ACTION_DOWN) {

outputTextView.scrollBy(0, +50);

}
}

我该如何防止这种情况?

1 个答案:

答案 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)