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

首頁 > 系統 > Android > 正文

android實現自動滾動的Gallary控件效果

2020-04-11 11:23:54
字體:
來源:轉載
供稿:網友

本文實例講述了android實現自動滾動的Gallary控件。分享給大家供大家參考。具體如下:

import java.util.Timer;import java.util.TimerTask;import android.content.Context;import android.os.Handler;import android.util.AttributeSet;import android.util.Log;import android.view.KeyEvent;import android.view.MotionEvent;import android.widget.Gallery;public class HomeGallery extends Gallery{  /**   * 這里的數值,限制了每次滾動的最大長度,圖片寬度為480PX。這里設置600效果好一些。 這個值越大,滾動的長度就越大。   * 也就是會出現一次滾動跨多個Image。這里限制長度后,每次滾動只能跨一個Image   */  private static final int timerAnimation = 1;  private static final int time = 2000;  private final Handler mHandler = new Handler()  {    public void handleMessage(android.os.Message msg)    {      switch (msg.what)      {      case timerAnimation:        int position = getSelectedItemPosition();        Log.i("msg", "position:"+position);        if (position >= (getCount() - 1))        {          onKeyDown(KeyEvent.KEYCODE_DPAD_LEFT, null);        } else        {          onKeyDown(KeyEvent.KEYCODE_DPAD_RIGHT, null);        }        break;      default:        break;      }    };  };  private final Timer timer = new Timer();  private final TimerTask task = new TimerTask()  {    public void run()    {      mHandler.sendEmptyMessage(timerAnimation);    }  };  public HomeGallery(Context paramContext)  {    super(paramContext);    timer.schedule(task, time, time);  }  public HomeGallery(Context paramContext, AttributeSet paramAttributeSet)  {    super(paramContext, paramAttributeSet);    timer.schedule(task, time, time);  }  public HomeGallery(Context paramContext, AttributeSet paramAttributeSet,      int paramInt)  {    super(paramContext, paramAttributeSet, paramInt);    timer.schedule(task, time, time);  }  private boolean isScrollingLeft(MotionEvent paramMotionEvent1,      MotionEvent paramMotionEvent2)  {    float f2 = paramMotionEvent2.getX();    float f1 = paramMotionEvent1.getX();    if (f2 > f1)      return true;    return false;  }  public boolean onFling(MotionEvent paramMotionEvent1,      MotionEvent paramMotionEvent2, float paramFloat1, float paramFloat2)  {    int keyCode;    if (isScrollingLeft(paramMotionEvent1, paramMotionEvent2))    {      keyCode = KeyEvent.KEYCODE_DPAD_LEFT;    } else    {      keyCode = KeyEvent.KEYCODE_DPAD_RIGHT;    }    onKeyDown(keyCode, null);    return true;  }  public void destroy()  {    timer.cancel();  }}

希望本文所述對大家的Android程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 三门县| 迭部县| 榆林市| 汕头市| 唐山市| 连云港市| 改则县| 天台县| 昌江| 华宁县| 西宁市| 泸溪县| 新余市| 前郭尔| 临高县| 江西省| 伽师县| 阳山县| 长治市| 郴州市| 长阳| 容城县| 延寿县| 长垣县| 天柱县| 富民县| 平果县| 景德镇市| 黔江区| 盐源县| 建瓯市| 永丰县| 灌南县| 阜新市| 浑源县| 重庆市| 株洲市| 西吉县| 香河县| 三穗县| 延长县|