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

android實(shí)現(xiàn)自動(dòng)滾動(dòng)的Gallary控件效果

 更新時(shí)間:2015年10月12日 12:03:42   作者:thearyong  
這篇文章主要介紹了android實(shí)現(xiàn)自動(dòng)滾動(dòng)的Gallary控件效果,涉及Android中Gallary控件的相關(guān)使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了android實(shí)現(xiàn)自動(dòng)滾動(dòng)的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
{
  /**
   * 這里的數(shù)值,限制了每次滾動(dòng)的最大長(zhǎng)度,圖片寬度為480PX。這里設(shè)置600效果好一些。 這個(gè)值越大,滾動(dòng)的長(zhǎng)度就越大。
   * 也就是會(huì)出現(xiàn)一次滾動(dòng)跨多個(gè)Image。這里限制長(zhǎng)度后,每次滾動(dòng)只能跨一個(gè)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();
  }
}

希望本文所述對(duì)大家的Android程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

方正县| 晋中市| 华安县| 定西市| 福建省| 富裕县| 特克斯县| 沭阳县| 青冈县| 隆尧县| 巴林右旗| 芷江| 呼图壁县| 韶关市| 古田县| 唐山市| 昂仁县| 揭东县| 阜城县| 渝北区| 屏东县| 永定县| 长阳| 夏邑县| 博湖县| 太康县| 永宁县| 池州市| 石嘴山市| 奉贤区| 莱州市| 达孜县| 高碑店市| 上思县| 林周县| 香河县| 大城县| 平遥县| 内丘县| 大港区| 军事|