Android(安卓)ListView 滚动的N种方法
16lz
2022-03-27
Android 里面让ListView滚动有N种方法,这儿列举三种:
我的需求是通过按键让Listview滚动起来,当然这些按键不是通过Android标识接口传输过来的,所以不能通过监听按键事件来实现此功能;
一、方法一:
也是最常用的方法:
直接跳转到指定的位置,可以是事件每触发一次,执行一次,形成滚动效果;
二、方法二:
smoothScrollToPosition类似于setSelection,但setSelection没有动画效果,直接跳转,smoothScrollToPosition是类似于手滑动,有滚动过程,从名字上就是平滑的意思;
三、方法三:
这个方法比较另类,一般用不到,那就是先让listview获取焦点,然后注入上下按键事件:
我的需求是通过按键让Listview滚动起来,当然这些按键不是通过Android标识接口传输过来的,所以不能通过监听按键事件来实现此功能;
一、方法一:
也是最常用的方法:
listView.setSelection(position);
直接跳转到指定的位置,可以是事件每触发一次,执行一次,形成滚动效果;
二、方法二:
listView.smoothScrollBy(30, 200);listView.smoothScrollToPosition(index);
smoothScrollToPosition类似于setSelection,但setSelection没有动画效果,直接跳转,smoothScrollToPosition是类似于手滑动,有滚动过程,从名字上就是平滑的意思;
三、方法三:
这个方法比较另类,一般用不到,那就是先让listview获取焦点,然后注入上下按键事件:
void sendKey(final int key) {new Thread() {public void run() {try {Instrumentation inst = new Instrumentation();inst.sendKeyDownUpSync(key);} catch (Exception e) {e.printStackTrace();}}}.start();}
更多相关文章
- Android(安卓)AsyncTask实现异步任务的执行
- Androidstudio开发button按钮的操作以及项目开发大致过程
- Android按键响应之初见
- Android跨进程通信-IPC初探(三) - 使用AIDL
- 关于Android软件盘的显示与隐藏的问题
- Android待机的suspend_sys_sync_queue分析
- Android中AsyncTask的简单用法 .
- 浅谈Java中Collections.sort对List排序的两种方法
- Python list sort方法的具体使用