欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2018年12月13日 14:13:09   作者:chadeltu  
今天小編就為大家分享一篇關(guān)于Android通過代碼控制ListView上下滾動的方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧

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

先上圖:

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

實(shí)現(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; // 三個(gè)按鈕
 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);
 }
 };
}

實(shí)現(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í)價(jià)值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

相關(guān)文章

  • Android ActivityManagerService啟動流程詳解

    Android ActivityManagerService啟動流程詳解

    這篇文章主要介紹了Android ActivityManagerService啟動流程,AMS,即ActivityManagerService,是安卓java framework的一個(gè)服務(wù),運(yùn)行在system_server進(jìn)程。此服務(wù)十分重要,因?yàn)樗芾碇沧康乃拇蠼M件,是安卓APP開發(fā)者最常接觸到的一個(gè)服務(wù)
    2023-02-02
  • Android控件陰影顏色調(diào)整示例

    Android控件陰影顏色調(diào)整示例

    這篇文章主要介紹了Android控件陰影顏色調(diào)整示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-08-08
  • 基于Android10渲染Surface的創(chuàng)建過程

    基于Android10渲染Surface的創(chuàng)建過程

    這篇文章主要介紹了基于Android10渲染Surface的創(chuàng)建過程,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • Jetpack?Compose?Canvas繪制超詳細(xì)介紹

    Jetpack?Compose?Canvas繪制超詳細(xì)介紹

    Canvas?是允許您在屏幕上指定區(qū)域并在此區(qū)域上執(zhí)行繪制的組件。您必須使用修飾符指定尺寸,無論是通過Modifier.size修飾符指定確切尺寸,還是通過Modifier.fillMaxSize,ColumnScope.weight等相對于父級指定精確尺寸。如果父級包裝了此子級,則僅必須指定確切尺寸
    2022-10-10
  • Android中PackageManager使用詳解

    Android中PackageManager使用詳解

    PackageManger的主要職責(zé)是管理應(yīng)用程序包,通過它可以獲取應(yīng)用程序信息,這篇文章主要給大家介紹了關(guān)于Android中PackageManager使用的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • Android中Volley框架進(jìn)行請求網(wǎng)絡(luò)數(shù)據(jù)的使用

    Android中Volley框架進(jìn)行請求網(wǎng)絡(luò)數(shù)據(jù)的使用

    這篇文章主要介紹了Android中Volley框架進(jìn)行請求網(wǎng)絡(luò)數(shù)據(jù)的使用,本文給大家介紹的非常詳細(xì)具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-10-10
  • Android5.0中JobScheduler的使用方法

    Android5.0中JobScheduler的使用方法

    Android 5.0中如何使用JobScheduler API,這篇文章主要介紹了Android5.0中JobScheduler的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Flutter?Widget之NavigationBar使用詳解

    Flutter?Widget之NavigationBar使用詳解

    這篇文章主要為大家介紹了Flutter?Widget之NavigationBar使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • 功能強(qiáng)大的Android滾動控件RecyclerView

    功能強(qiáng)大的Android滾動控件RecyclerView

    這篇文章主要為大家詳細(xì)介紹了功能強(qiáng)大的Android滾動控件RecyclerView,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Android activity動畫不生效原因及解決方案總結(jié)

    Android activity動畫不生效原因及解決方案總結(jié)

    android activity動畫是一個(gè)比較簡單的功能。但是使用時(shí)總會由于各種小問題導(dǎo)致動畫失效,筆者根據(jù)自己經(jīng)驗(yàn),整理了各種可能導(dǎo)致的原因,期望能對你有所幫助
    2021-11-11

最新評論