91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-09-21 05:01:15 來源:腳本之家 閱讀:172 作者:chadeltu 欄目:移動開發

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

先上圖:

Android通過代碼控制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. 

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內容請查看下面相關鏈接

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阳西县| 玉林市| 泗洪县| 韶关市| 鹿邑县| 扬中市| 墨江| 江达县| 成安县| 明星| 盱眙县| 渭源县| 桑植县| 综艺| 永春县| 昭平县| 白银市| 沐川县| 山丹县| 乌鲁木齐县| 泽库县| 普兰店市| 寿光市| 岳池县| 蒙山县| 沅江市| 怀集县| 万年县| 康平县| 营口市| 收藏| 尉犁县| 重庆市| 临沂市| 荣成市| 禄劝| 孟津县| 沙湾县| 微山县| 承德市| 利津县|