想要做成的效果:当edittext选中时,整个scrollview全部滚动上去
用scrollTo scrollBy smothScrollTo smothScrollBy都试过 都不起作用
整个布局是这样的
这是弹出的
首先 所在activity设置
android:windowSoftInputMode="adjustResize"
其次 edittext之上的布局加上
android:focusable="true" android:focusableInTouchMode="true"这样做是为了防止edittext自动获取焦点,使软键盘自动弹出
再次
et_password.setOnTouchListener(this); et_username.setOnTouchListener(this);
并在监听中
switch (view.getId()){ case R.id.et_username: UIUtils.postDelayed(new Runnable() { @Override public void run() { sv_main.fullScroll(ScrollView.FOCUS_DOWN); view.requestFocus(); } },150); break; case R.id.et_password: UIUtils.postDelayed(new Runnable() { @Override public void run() { sv_main.fullScroll(ScrollView.FOCUS_DOWN); view.requestFocus(); } },150); break; }需要注意的是,sv_main.fullScroll(ScrollView.FOCUS_DOWN);必须要在postdelayed中写,否则不起作用以下是UIUtils的部分代码:/** * 延时在主线程执行runnable */ public static boolean postDelayed(Runnable runnable, long delayMillis) { return getHandler().postDelayed(runnable, delayMillis); }