最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

本文將介紹一種通過代碼控制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í)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

相關(guān)文章

最新評論

仲巴县| 吴桥县| 大姚县| 呈贡县| 正阳县| 东光县| 梁山县| 乌拉特后旗| 新和县| 龙川县| 施秉县| 江阴市| 汉川市| 东莞市| 驻马店市| 集安市| 恩施市| 米林县| 岳普湖县| 边坝县| 新乡县| 鹿邑县| 宜城市| 屏南县| 永定县| 扎赉特旗| 东阳市| 曲周县| 秀山| 晋宁县| 扬州市| 阿图什市| 犍为县| 铜山县| 墨竹工卡县| 内江市| 右玉县| 西平县| 波密县| 惠安县| 仁怀市|