当我点击 edittext
时,由于键盘的原因,用户看不到我的 button
。
所以我想,当用户点击 edittext
时,scrollview
绝对流畅地转到上面。
我的第一个问题 我应该为此使用哪个监听器? OnClick
, OnFocus
, OnTouch
等 ?
我试过这个代码块,但需要双击才能滚动它。第一次单击打开键盘,第二次单击滚动到 scrollview
。
我的第二个问题有人知道这个问题吗?感谢您的帮助。
scrollView = (ScrollView) findViewById(R.id.scrollview);
et_space.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
scrollView.smoothScrollTo(0, 500);
return false;
}
});
最佳答案
谢谢大家的解答,不过我自己解决了问题,
首先我想说你必须使用“OnFocusListener”然后你必须像这样使用Handler;
现在,当我点击我的编辑文本时;键盘打开, ScrollView 同时滚动到顶部:)
et_space.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus){
final Handler handler;
handler = new Handler();
final Runnable r = new Runnable() {
public void run() {
scrollView.smoothScrollTo(0, 500);
}
};
handler.postDelayed(r, 200);
}
}
});
关于Android,当我点击编辑文本时如何以编程方式滚动 ScrollView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36129605/