Android通过代码控制ListView上下滚动的方法
程序员文章站
2022-11-08 14:50:05
本文将介绍一种通过代码控制listview上下滚动的方法。
先上图:
按下按钮会触发listview滚动或停止。
实现该功能并不难,下面给出主要代码mainact...
本文将介绍一种通过代码控制listview上下滚动的方法。
先上图:
按下按钮会触发listview滚动或停止。
实现该功能并不难,下面给出主要代码mainactivity.java
package cn.guet.levide; import android.app.activity; import android.os.bundle; import android.os.handler; import android.os.message; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.listview; public class mainactivity extends activity implements onclicklistener { private button btn_up, btn_down, btn_stop; // 三个按钮 private listview listview; private adapter adapter; @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); findby(); init(); } private void init() { btn_up.setonclicklistener(this); btn_down.setonclicklistener(this); btn_stop.setonclicklistener(this); adapter = new adapter(this); listview.setadapter(adapter); } private void findby() { btn_up = (button) findviewbyid(r.id.btn_scroll_up); btn_down = (button) findviewbyid(r.id.btn_scroll_down); btn_stop = (button) findviewbyid(r.id.btn_scroll_stop); listview = (listview) findviewbyid(r.id.listview); } @override public void onclick(view v) { switch (v.getid()) { case r.id.btn_scroll_down: listscrolldown(); break; case r.id.btn_scroll_up: listscrollup(); break; case r.id.btn_scroll_stop: listscrolloff(); break; } } handler handler = new handler() { @override public void handlemessage(message msg) { handler.removecallbacks(run_scroll_down); handler.removecallbacks(run_scroll_up); } }; /** * 向上滚动 */ public void listscrollup() { listscrolloff(); handler.postdelayed(run_scroll_up, 0); } /** * 向下滚动 */ public void listscrolldown() { listscrolloff(); handler.postdelayed(run_scroll_down, 0); } /** * 停止滚动 */ public void listscrolloff() { handler.removecallbacks(run_scroll_down); handler.removecallbacks(run_scroll_up); } runnable run_scroll_up = new runnable() { @override public void run() { /** * public void smoothscrollby (int distance, int duration) * * added in api level 8 smoothly scroll by distance pixels over duration milliseconds. * * parameters * distance distance to scroll in pixels. * duration duration of the scroll animation in milliseconds. */ listview.smoothscrollby(1, 10); handler.postdelayed(run_scroll_up, 10); } }; runnable run_scroll_down = new runnable() { @override public void run() { listview.smoothscrollby(-1, 10); handler.postdelayed(run_scroll_down, 10); } }; }
实现listview位置变动的是smoothscrollby方法。
public void smoothscrollby (int distance, int duration) smoothly scroll by distance pixels over duration milliseconds. parameters distance distance to scroll in pixels. duration duration of the scroll animation in milliseconds.
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
上一篇: css图片自适应大小
下一篇: 用醋洗脸有什么好处大汇总
推荐阅读
-
Android ListView 滚动条的设置详解及实例代码
-
Android ListView 滚动条的设置详解及实例代码
-
Android编程实现为ListView创建上下文菜单(ContextMenu)的方法
-
android ListView的右边滚动滑块启用方法 分享
-
Android通过LIstView显示文件列表的两种方法介绍
-
android通过代码的形式来实现应用程序的方法
-
android ListView的右边滚动滑块启用方法 分享
-
Android通过LIstView显示文件列表的两种方法介绍
-
jQuery实现通过方向键控制div块上下左右移动的方法【测试可用】
-
Android通过代码控制ListView上下滚动的方法