青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

xiaoguozi's Blog
Pay it forword - 我并不覺的自豪,我所嘗試的事情都失敗了······習慣原本生活的人不容易改變,就算現狀很糟,他們也很難改變,在過程中,他們還是放棄了······他們一放棄,大家就都是輸家······讓愛傳出去,很困難,也無法預料,人們需要更細心的觀察別人,要隨時注意才能保護別人,因為他們未必知道自己要什么·····

[轉載]android滑動之Scroller



原文地址:android滑動之Scroller作者:jaly19870729

正文

  一、結構

    public class Scroller extends Object

 

    java.lang.Object

      android.widget.Scroller

 

  二、概述

    這個類封裝了滾動操作。滾動的持續時間可以通過構造函數傳遞,并且可以指定滾動動作的持續的最長時間。經過這段時間,滾動會自動定位到最終位置,并且通過computeScrollOffset()會得到的返回值為false,表明滾動動作已經結束。
 

  三、構造函數

  public Scroller (Context context)

  使用缺省的持續持續時間和動畫插入器創建一個Scroller。(譯者注:interpolator這里翻譯為動畫插入器,見這里。)

 

  public Scroller (Context context, Interpolator interpolator)

  根據指定的動畫插入器創建一個Scroller,如果指定的動畫插入器為空,則會使用缺省的動畫插入器(粘滯viscous)創建。

 

  四、公共方法

  public void abortAnimation ()

  停止動畫。與forceFinished(boolean)相反,Scroller滾動到最終xy位置時中止動畫。

  參見

        forceFinished(boolean)


  public boolean computeScrollOffset ()

  當想要知道新的位置時,調用此函數。如果返回true,表示動畫還沒有結束。位置改變以提供一個新的位置。

 

  public void extendDuration (int extend)

  延長滾動動畫時間。此函數允許當使用setFinalX(int) or setFinalY(int) 時,卷動動作持續更長時間并且卷動更長距離。

          參數

              extend 卷動事件延長的時間,以毫秒為單位

          參見

              setFinalX(int)

              setFinalY(int)

 

  public void fling (int startX, int startY, int velocityX, int velocityY, int minX, int maxX, int minY, int maxY)

  在fling(譯者注:快滑,用戶按下觸摸屏、快速移動后松開)手勢基礎上開始滾動。滾動的距離取決于fling的初速度。

      參數

          startX 滾動起始點X坐標

  startY 滾動起始點Y坐標

  velocityX   當滑動屏幕時X方向初速度,以每秒像素數計算

  velocityY   當滑動屏幕時Y方向初速度,以每秒像素數計算

  minX    X方向的最小值,scroller不會滾過此點。

  maxX    X方向的最大值,scroller不會滾過此點。

  minY    Y方向的最小值,scroller不會滾過此點。

  maxY    Y方向的最大值,scroller不會滾過此點。


  public final void forceFinished (boolean finished)

  強制終止的字段到特定值。(譯者注:立即停止滾動?)

      參數

          finished    新的結束值


  public final int getCurrX ()

  返回當前滾動X方向的偏移

      返回值

          距離原點X方向的絕對值


  public final int getCurrY ()

  返回當前滾動Y方向的偏移

      返回值

          距離原點Y方向的絕對值

 

  public final int getDuration ()

  返回滾動事件的持續時間,以毫秒計算。

      返回值

          滾動持續的毫秒數


  public final int getFinalX ()

  返回滾動結束位置。僅針對“fling”手勢有效

      返回值

          最終位置X方向距離原點的絕對距離


  public final int getFinalY ()

  返回滾動結束位置。僅針對“fling”操作有效

      返回值

          最終位置Y方向距離原點的絕對距離

 

  public final int getStartX ()

  返回滾動起始點的X方向的偏移

      返回值

          起始點在X方向距離原點的絕對距離


  public final int getStartY ()

  返回滾動起始點的Y方向的偏移

      返回值

          起始點在Y方向距離原點的絕對距離

 

  public final boolean isFinished ()

  返回scroller是否已完成滾動。

      返回值

          停止滾動返回true,否則返回false


  public void setFinalX (int newX)

  設置scroller的X方向終止位置

      參數

          newX    新位置在X方向距離原點的絕對偏移。

      參見

          extendDuration(int)

          setFinalY(int)


  public void setFinalY (int newY)

  設置scroller的Y方向終止位置

      參數

          newY    新位置在Y方向距離原點的絕對偏移。

      參見

          extendDuration(int)

          setFinalY(int)

 

  public void startScroll (int startX, int startY, int dx, int dy)

  以提供的起始點和將要滑動的距離開始滾動。滾動會使用缺省值250ms作為持續時間。

      參數

          startX 水平方向滾動的偏移值,以像素為單位。負值表明滾動將向左滾動

  startY 垂直方向滾動的偏移值,以像素為單位。負值表明滾動將向上滾動

  dx 水平方向滑動的距離,負值會使滾動向左滾動

  dy 垂直方向滑動的距離,負值會使滾動向上滾動


  public void startScroll (int startX, int startY, int dx, int dy, int duration)

  以提供的起始點和將要滑動的距離開始滾動。

      參數

          startX 水平方向滾動的偏移值,以像素為單位。負值表明滾動將向左滾動

  startY 垂直方向滾動的偏移值,以像素為單位。負值表明滾動將向上滾動

  dx 水平方向滑動的距離,負值會使滾動向左滾動

  dy 垂直方向滑動的距離,負值會使滾動向上滾動

        duration    滾動持續時間,以毫秒計。
 

  public int timePassed ()

  返回自滾動開始經過的時間

      返回值

            經過時間以毫秒為單位
 

  五、補充

    文章精選

      Scroller 粗淺理解

      ScrollTextView - scrolling TextView for Android

    示例代碼

      創建工程MyScroler,或者將下類名“MyScroler”改為自己創建的工程,將下面代碼直接覆蓋生成的.java文件運行即可:

package my.Scroller;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.Scroller;

public class MyScroler extends Activity {
    

    LinearLayout lay1,lay2,lay;
     
private Scroller mScroller;
     
private boolean s1,s2;
    @Override
    
public void onCreate(Bundle savedInstanceState) {
        
super.onCreate(savedInstanceState);
        mScroller 
= new Scroller(this);
         lay1 
= new LinearLayout(this){
             @Override 
             
public void computeScroll() 
                 
if (mScroller.computeScrollOffset()) 
                     scrollTo(mScroller.getCurrX(), 
0); 
                     postInvalidate(); 
                 
             
         };
         lay2 
= new LinearLayout(this){
             @Override 
             
public void computeScroll() 
                 
if (mScroller.computeScrollOffset()) 
                    
// mScrollX mScroller.getCurrX(); 
                     scrollTo(mScroller.getCurrX(), 0); 
                     postInvalidate(); 
                 
             
         };
      lay1.setBackgroundColor(
this.getResources().getColor(android.R.color.darker_gray));
        lay2.setBackgroundColor(
this.getResources().getColor(android.R.color.white));
        lay 
= new LinearLayout(this);
        lay.setOrientation(LinearLayout.VERTICAL);
        LinearLayout.LayoutParams p0 
= new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,LinearLayout.LayoutParams.FILL_PARENT);     
        
this.setContentView(lay, p0);
        
        LinearLayout.LayoutParams p1 
= new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,LinearLayout.LayoutParams.FILL_PARENT);     
        p1.weight
=1;
        lay.addView(lay1,p1);
        LinearLayout.LayoutParams p2 
= new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,LinearLayout.LayoutParams.FILL_PARENT);     
        p2.weight
=1;
        lay.addView(lay2,p2);
        Button tx 
= new Button(this);
        Button tx2 
= new Button(this);
        tx.setText(
"Button1");  
        tx2.setText(
"Button2");
        tx.setOnClickListener(
new OnClickListener(){
            @Override
            
public void onClick(View v) {
                
if(!s1){
                    mScroller.startScroll(
0051010);
                    s1 
= true;
                }
else{
                    mScroller.startScroll(
00-50-10,10);
                    s1 
= false;
                }
            }
            
        });
        tx2.setOnClickListener(
new OnClickListener(){
            @Override
            
public void onClick(View v) {
                
if(!s2){
                    mScroller.startScroll(
00520,10);
                    s2
=true;
                }
else{
                    mScroller.startScroll(
2020-50-20,10);
                    s2
=false;
                }
            }
        });
        lay1.addView(tx);
        lay2.addView(tx2);
    }
}
posted on 2012-03-01 16:51 小果子 閱讀(513) 評論(0)  編輯 收藏 引用 所屬分類: Android & Ios
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品毛片高清在线完整版 | 久久久精品tv| 久久综合给合久久狠狠狠97色69| 99视频+国产日韩欧美| 久久精品99国产精品日本| 亚洲在线观看| 欧美日韩国产色综合一二三四| 免费不卡在线观看| 国产综合色一区二区三区| 亚洲深爱激情| 亚洲一二三四久久| 欧美伦理影院| 亚洲国产精品美女| 久久三级视频| 久久精品夜色噜噜亚洲aⅴ| 激情综合视频| 久久精品毛片| 久久免费偷拍视频| 国语自产精品视频在线看| 午夜视频一区二区| 欧美在线不卡| 国产夜色精品一区二区av| 亚洲一区久久| 欧美在线观看天堂一区二区三区 | 国产一区二区三区四区hd| 久久噜噜亚洲综合| 麻豆精品传媒视频| 在线观看精品一区| 美女日韩在线中文字幕| 欧美韩日亚洲| 一本久道综合久久精品| 国产欧美一区二区精品忘忧草 | 日韩视频中文字幕| 欧美久久成人| 久久本道综合色狠狠五月| 亚洲黄色有码视频| 一区二区三区日韩欧美精品| 欧美日韩精品一区| 久久久视频精品| 一区二区91| 久久aⅴ国产欧美74aaa| 狠狠色综合色区| 国产精品国产a级| 欧美伊人精品成人久久综合97| 久久久久久色| 亚洲在线观看视频网站| 亚洲人成小说网站色在线| 欧美精品午夜视频| 中文国产一区| 亚洲高清免费视频| 亚洲女女女同性video| 国产亚洲成人一区| 麻豆精品一区二区综合av| 亚洲欧美卡通另类91av| 欧美91视频| 亚洲午夜久久久久久久久电影院| 1024成人| 国产精品久久二区| 欧美国产日韩一区二区在线观看| 中文精品一区二区三区 | 欧美经典一区二区三区| 久久人人爽人人爽爽久久| 欧美一级久久久| 亚洲福利在线视频| 欧美mv日韩mv亚洲| 久久亚洲美女| 亚洲天堂av在线免费观看| 国产性猛交xxxx免费看久久| 欧美视频日韩视频| 久久久久久网站| 午夜精品免费视频| 亚洲国产精品va在线看黑人| 男人天堂欧美日韩| 免费在线观看日韩欧美| 欧美成人tv| 欧美国产乱视频| 久久精品91| 一区二区三区免费看| 99精品国产高清一区二区| 99riav久久精品riav| 一本色道久久综合狠狠躁篇的优点 | 久久久91精品国产一区二区三区 | 久久视频在线免费观看| 久久视频精品在线| 可以看av的网站久久看| 欧美成人四级电影| 亚洲欧洲日产国产网站| 99re66热这里只有精品3直播| 久久一区二区三区av| 噜噜噜在线观看免费视频日韩| 免费短视频成人日韩| 亚洲国产经典视频| 亚洲精品一区在线观看| 麻豆精品在线播放| 亚洲第一网站免费视频| 亚洲人成人77777线观看| 欧美1区2区3区| 亚洲国产成人91精品| 99国产一区| 亚洲精品女人| 日韩视频一区二区在线观看| 亚洲性感激情| 一区二区三区视频在线看| 亚洲综合三区| 久久综合色8888| 欧美日韩系列| 欧美视频成人| 狠狠综合久久| 亚洲视频在线播放| 久久精品一区二区三区不卡| 欧美激情二区三区| 一区二区三区欧美成人| 久久国产免费看| 欧美日韩国产首页在线观看| 国产欧美在线播放| 亚洲精品三级| 在线亚洲精品福利网址导航| 久久精品人人做人人爽| 亚洲人成人一区二区在线观看| 亚洲免费在线观看| 欧美肥婆在线| 国产一区二区三区在线观看精品 | 亚洲精品午夜精品| 亚洲欧美亚洲| 欧美精品九九99久久| 国语自产精品视频在线看抢先版结局| 亚洲精品视频在线播放| 久久国产精品一区二区三区四区| 亚洲国产高清视频| 欧美在线观看www| 欧美日韩一区二区三区在线| 在线观看国产成人av片| 午夜精品电影| 久久亚洲欧美| 亚洲一二三区在线| 欧美精品一区在线观看| 激情亚洲网站| 久久av一区二区三区漫画| 99国产精品久久久久久久| 免费久久99精品国产自| 欧美日韩亚洲一区在线观看| **欧美日韩vr在线| 久久久久国产免费免费| 亚洲一区二区在线免费观看| 欧美激情中文不卡| 亚洲国产婷婷香蕉久久久久久99| 一区二区三区日韩欧美精品| 欧美成人免费一级人片100| 欧美一区二区三区日韩视频| 国产精品卡一卡二卡三| 亚洲色诱最新| 亚洲精品一区二区三区在线观看| 久久一区二区视频| 在线成人激情| 久久婷婷影院| 久久福利精品| 激情久久久久久| 久久精品亚洲一区二区三区浴池 | 欧美日韩国产91| 亚洲人成小说网站色在线| 奶水喷射视频一区| 久久午夜色播影院免费高清| 伊人久久综合97精品| 裸体一区二区三区| 久久网站免费| 亚洲黑丝在线| 亚洲欧洲精品一区二区三区波多野1战4 | 一本久久综合亚洲鲁鲁五月天| 欧美国产一区二区| 99在线精品视频| 亚洲免费大片| 国产精品播放| 亚洲精品激情| 亚洲三级视频在线观看| 欧美日韩亚洲一区二| 99re热这里只有精品视频 | 久久久久综合网| 亚洲电影观看| 亚洲国产精品久久久久婷婷884 | 黄色精品一二区| 欧美bbbxxxxx| 欧美精品免费在线| 亚洲一区在线免费观看| 亚洲一区免费看| 国产在线播放一区二区三区| 久久夜色精品国产欧美乱| 蜜桃av综合| 亚洲午夜久久久久久久久电影网| 亚洲一区三区视频在线观看| 国产午夜精品全部视频在线播放| 久久一二三国产| 欧美美女喷水视频| 欧美一级大片在线免费观看| 99在线热播精品免费| 国产精品一区=区| 午夜精品网站| 久久免费视频网站| 一区二区高清视频在线观看| 亚洲自拍电影| 亚洲日本成人|