2009-07-31 18 views
5

リストビューでプログラムを使ってFlingを実行する方法はありますか?私はこれらのことすべてを行う猿があることを知っているが、それはadb等とのコンピュータ接続が必要です。私はサルなしで、任意の電話で私のアプリでそれをやりたいです。Programmatically Fling ListView Android

おかげで、 ファイサル

答えて

-1

は、あなたはそれアニメーションと偽(私はaccelerate_decelerate_interpolatorが仕事をすることができると思います)することができます。

また、あなた自身であなたのビューをスクロールするためのサポートがあるようだ。

public void scrollBy (int x, int y) 

は、ビューのスクロール位置を移動します。これによりonScrollChanged(int、int、int、int)が呼び出され、ビューは無効になります。

Parameters 
x the amount of pixels to scroll by horizontally 
y the amount of pixels to scroll by vertically 
public void scrollTo (int x, int y) 

ビューのスクロール位置を設定します。これによりonScrollChanged(int、int、int、int)が呼び出され、ビューは無効になります。

 
Parameters 
x the x position to scroll to 
y the y position to scroll to 
+0

Hey Lucas、コードスニペットはありますか、私はかなり混乱しています。 ありがとう、 ファイサル –

+1

こんにちは、私はあなたを助ける多くの情報を追加しました。 –

+0

ありがとう、私はこれを知っていませんでした! –

2

位置にジャンプするのではなく、スムーススクロールする2つの方法があります。

smoothScrollBy()smoothScrollTo()ためhttp://developer.android.com/reference/android/widget/ScrollView.html

をチェックしてください。

これが役に立ちます。

+0

あなたはscrollviewを参照していますが、その質問はリストビューに対するものでした。 Listviewには、smootScrollToPositionとsmootScrollByOffsetといういくつかの素敵な機能もあります。ただし、これらはそれぞれAPIレベル8と11でのみ使用できます。 http://developer.android.com/reference/android/widget/ListView.html#smoothScrollToPosition(int) –

1
private AnimationSet set; 

public void onClick(View v) { 
    if(v.getId() == R.id.pullbutton){ 
     artListview.setVisibility(View.INVISIBLE); 
     if(set == null){ 
      set = new AnimationSet(true); 
      Animation animation = new AlphaAnimation(0.0f, 1.0f); 
      animation.setDuration(100); 
      set.addAnimation(animation); 

      animation = new TranslateAnimation(
        Animation.RELATIVE_TO_SELF, 0.0f, 
        Animation.RELATIVE_TO_SELF, 0.0f,    
        Animation.RELATIVE_TO_SELF, -1.0f, 
        Animation.RELATIVE_TO_SELF, 0.0f 
      ); 
      animation.setDuration(1000); 
      set.addAnimation(animation); 
     } 
     showPullDownSectionList(); 
    } 

} 


public void showPullDownSectionList() { 
    flipper = (ViewFlipper) findViewById(R.id.ViewFlipper01); 
    flipper.setVisibility(View.VISIBLE); 
    setLayoutAnim_slidedownfromtop(flipper); 
} 

public void setLayoutAnim_slidedownfromtop(ViewFlipper flipper) { 
    LayoutAnimationController controller = 
     new LayoutAnimationController(set, 0.25f); 
    flipper.setLayoutAnimation(controller); 

}