国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android通過代碼控制ListView上下滾動的方法

2019-12-12 00:24:30
字體:
供稿:網(wǎng)友

本文將介紹一種通過代碼控制ListView上下滾動的方法。

先上圖:

按下按鈕會觸發(fā)ListView滾動或停止。

實現(xiàn)該功能并不難,下面給出主要代碼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); } /** * 停止?jié)L動 */ 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); } };}

實現(xiàn)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. 

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對武林網(wǎng)的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 婺源县| 和林格尔县| 颍上县| 锡林郭勒盟| 绥江县| 西宁市| 陇川县| 中西区| 陆河县| 泸州市| 黎平县| 乡城县| 惠来县| 澄迈县| 辰溪县| 芦溪县| 乌拉特前旗| 浦北县| 逊克县| 仲巴县| 滨海县| 湟源县| 迁安市| 无棣县| 行唐县| 石首市| 英超| 中牟县| 浦县| 乃东县| 柯坪县| 青河县| 正镶白旗| 新乡县| 泸州市| 铜陵市| 兴和县| 司法| 阳朔县| 阿克陶县| 新密市|