关于scrollview的滚动

来源:互联网 发布:日本人残忍知乎 编辑:程序博客网 时间:2024/05/28 06:07

想要做成的效果:当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);}

0 0
原创粉丝点击