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

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

[轉(zhuǎn)載]android滑動之Scroller



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

正文

  一、結(jié)構(gòu)

    public class Scroller extends Object

 

    java.lang.Object

      android.widget.Scroller

 

  二、概述

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

  三、構(gòu)造函數(shù)

  public Scroller (Context context)

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

 

  public Scroller (Context context, Interpolator interpolator)

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

 

  四、公共方法

  public void abortAnimation ()

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

  參見

        forceFinished(boolean)


  public boolean computeScrollOffset ()

  當(dāng)想要知道新的位置時,調(diào)用此函數(shù)。如果返回true,表示動畫還沒有結(jié)束。位置改變以提供一個新的位置。

 

  public void extendDuration (int extend)

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

          參數(shù)

              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(譯者注:快滑,用戶按下觸摸屏、快速移動后松開)手勢基礎(chǔ)上開始滾動。滾動的距離取決于fling的初速度。

      參數(shù)

          startX 滾動起始點X坐標

  startY 滾動起始點Y坐標

  velocityX   當(dāng)滑動屏幕時X方向初速度,以每秒像素數(shù)計算

  velocityY   當(dāng)滑動屏幕時Y方向初速度,以每秒像素數(shù)計算

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

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

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

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


  public final void forceFinished (boolean finished)

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

      參數(shù)

          finished    新的結(jié)束值


  public final int getCurrX ()

  返回當(dāng)前滾動X方向的偏移

      返回值

          距離原點X方向的絕對值


  public final int getCurrY ()

  返回當(dāng)前滾動Y方向的偏移

      返回值

          距離原點Y方向的絕對值

 

  public final int getDuration ()

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

      返回值

          滾動持續(xù)的毫秒數(shù)


  public final int getFinalX ()

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

      返回值

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


  public final int getFinalY ()

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

      返回值

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

 

  public final int getStartX ()

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

      返回值

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


  public final int getStartY ()

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

      返回值

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

 

  public final boolean isFinished ()

  返回scroller是否已完成滾動。

      返回值

          停止?jié)L動返回true,否則返回false


  public void setFinalX (int newX)

  設(shè)置scroller的X方向終止位置

      參數(shù)

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

      參見

          extendDuration(int)

          setFinalY(int)


  public void setFinalY (int newY)

  設(shè)置scroller的Y方向終止位置

      參數(shù)

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

      參見

          extendDuration(int)

          setFinalY(int)

 

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

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

      參數(shù)

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

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

  dx 水平方向滑動的距離,負值會使?jié)L動向左滾動

  dy 垂直方向滑動的距離,負值會使?jié)L動向上滾動


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

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

      參數(shù)

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

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

  dx 水平方向滑動的距離,負值會使?jié)L動向左滾動

  dy 垂直方向滑動的距離,負值會使?jié)L動向上滾動

        duration    滾動持續(xù)時間,以毫秒計。
 

  public int timePassed ()

  返回自滾動開始經(jīng)過的時間

      返回值

            經(jīng)過時間以毫秒為單位
 

  五、補充

    文章精選

      Scroller 粗淺理解

      ScrollTextView - scrolling TextView for Android

    示例代碼

      創(chuàng)建工程MyScroler,或者將下類名“MyScroler”改為自己創(chuàng)建的工程,將下面代碼直接覆蓋生成的.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 小果子 閱讀(512) 評論(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>
            国产精品久久999| 亚洲无线视频| 亚洲欧美综合精品久久成人| 日韩亚洲不卡在线| av成人免费观看| 一区二区三区视频在线| 亚洲午夜精品久久| 亚洲欧美日韩精品久久| 欧美一级夜夜爽| 久久午夜国产精品| 欧美国产三区| 亚洲天堂成人在线观看| 欧美一区二区三区在线视频| 欧美成人精品h版在线观看| 欧美日韩在线三级| 激情综合网激情| 日韩视频不卡| 久久riav二区三区| 亚洲大胆av| av成人动漫| 久久亚洲私人国产精品va| 国产精品久久9| 亚洲精品1234| 久久激五月天综合精品| 亚洲欧洲精品一区| 久久一区中文字幕| 国产精品私房写真福利视频| 亚洲日韩视频| 久久男人资源视频| 一区二区成人精品 | 欧美精品91| 国产精品色午夜在线观看| 在线观看不卡| 欧美一区二区三区视频| 最新日韩在线| 噜噜噜噜噜久久久久久91| 国产精品夜夜夜| 宅男精品导航| 亚洲激情偷拍| 小黄鸭精品aⅴ导航网站入口| 欧美精品日韩综合在线| 亚洲二区免费| 久久蜜桃精品| 午夜视黄欧洲亚洲| 国产精品欧美久久| 亚洲一级黄色片| 亚洲区国产区| 欧美日韩1区| 一区二区三区高清在线观看| 蜜臀av在线播放一区二区三区| 正在播放亚洲| 欧美日本亚洲| 亚洲精品小视频| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲男人第一av网站| 国产精品久久久久久久免费软件| 99热在这里有精品免费| 欧美激情五月| 欧美福利视频一区| 亚洲精品1区| 亚洲狠狠婷婷| 欧美高清你懂得| 夜色激情一区二区| 99在线精品观看| 欧美日韩调教| 亚洲一区免费视频| 亚洲一区二区在线免费观看| 国产精品久久久久久久久久免费| 亚洲女女做受ⅹxx高潮| 亚洲在线播放电影| 国产一区二区三区成人欧美日韩在线观看| 亚洲影院免费观看| 亚洲天堂男人| 国产在线日韩| 欧美国产日韩一二三区| 欧美日韩成人| 久久精品官网| 久久夜色精品国产亚洲aⅴ| 亚洲欧洲一区| 亚洲午夜极品| 精品69视频一区二区三区| 欧美激情日韩| 国产精品国产三级国产专区53| 欧美专区在线观看一区| 久久亚洲精选| 午夜精品久久久久久久久| 久久国产视频网站| 一本色道久久精品| 欧美自拍丝袜亚洲| 一区二区三区四区国产| 久久精品人人爽| 亚洲小说春色综合另类电影| 久久精品99| 亚洲视屏在线播放| 久久久久.com| 亚洲小说区图片区| 久久久久一区二区三区四区| 亚洲午夜极品| 欧美bbbxxxxx| 久久精品91| 欧美人妖在线观看| 开元免费观看欧美电视剧网站| 欧美日韩国语| 亚洲高清免费视频| 国产一区二区成人| 亚洲性线免费观看视频成熟| 91久久精品美女| 久久精品麻豆| 午夜视频在线观看一区二区| 欧美精品亚洲二区| 美女国产精品| 亚洲国产一区二区视频| 国产精品成人一区二区三区吃奶| 久久婷婷国产综合国色天香| 国产精品va| 亚洲卡通欧美制服中文| 激情一区二区三区| 欧美一区亚洲二区| 亚洲欧美日韩在线不卡| 欧美精品三级在线观看| 欧美福利专区| 国内久久婷婷综合| 小处雏高清一区二区三区| 香蕉成人伊视频在线观看| 欧美三级视频在线| 日韩亚洲不卡在线| 日韩视频在线一区| 欧美二区乱c少妇| 欧美www在线| 激情久久五月| 欧美一区二区三区免费观看视频| 亚洲欧美国产精品专区久久| 欧美三级午夜理伦三级中视频| 91久久午夜| 日韩一区二区电影网| 欧美成人午夜免费视在线看片| 免费不卡在线观看| 好看的日韩视频| 久久久久久夜| 欧美成人有码| 亚洲激情视频在线| 欧美高清视频一区二区| 亚洲美女少妇无套啪啪呻吟| 亚洲一级黄色av| 国产精品综合网站| 久久精彩免费视频| 欧美激情二区三区| 一本一道久久综合狠狠老精东影业 | 香蕉亚洲视频| 久久中文在线| 一区二区在线视频| 蜜桃视频一区| 亚洲精选91| 欧美一乱一性一交一视频| 国产欧美日韩中文字幕在线| 欧美一区国产在线| 蜜臀久久99精品久久久久久9| 亚洲国产一区二区三区青草影视| 欧美精品一区二区视频| 亚洲午夜一二三区视频| 久久久久久欧美| 亚洲国内精品| 国产精品劲爆视频| 久久亚洲国产精品一区二区| 亚洲精品一线二线三线无人区| 午夜精品久久久久久久久久久久久| 国内精品美女在线观看| 欧美经典一区二区三区| 午夜视频在线观看一区二区| 欧美高清视频一区二区| 中文精品视频一区二区在线观看| 国产麻豆午夜三级精品| 欧美成人精品在线观看| 一区二区三区国产| 欧美岛国在线观看| 久久亚洲国产精品一区二区| 欧美与欧洲交xxxx免费观看| 亚洲高清久久网| 欧美性猛交xxxx乱大交退制版| 亚洲欧美综合精品久久成人| 亚洲国产一区二区a毛片| 欧美综合激情网| 一区二区三区.www| 亚洲二区在线观看| 国产日本欧美一区二区三区在线 | 欧美精品一级| 欧美在线1区| 日韩亚洲欧美中文三级| 暖暖成人免费视频| 久久国产精品久久久| 正在播放亚洲| 亚洲激情啪啪| 一区在线播放视频| 国产欧美一区二区色老头| 欧美日韩国产不卡在线看| 久久婷婷亚洲| 欧美一区二区三区日韩视频| 亚洲私拍自拍| 国产精品99久久久久久www| 亚洲人成人一区二区三区|