2009-07-31 38 views
5

Programlamada bir liste görünümünde bir Fling gerçekleştirmenin bir yolu var mı? Bütün bu şeyleri yapan ama adb vb. Ile bilgisayar bağlantısı gerektiren bir maymunun olduğunu biliyorum. Uygulamamla herhangi bir telefonda, maymunsuz yapmak istiyorum.Program aracılığıyla Fling ListView Android

sayesinde Faysal

cevap

-1

Bunu bir Deriden ile sahte (i accelerate_decelerate_interpolator iş yapabileceğini düşünüyorum) olabilir.

public void scrollBy (int x, int y) 
sizin bakış kaydırılan pozisyon Taşı

:

Ayrıca kendi tarafından görünümünüzü kaydırma için destek var gibi görünüyor. Bu onScrollChanged (int, int, int, int) için bir çağrıya neden olur ve görünüm geçersiz kılınır.
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) 

sizin bakış kaydırılan konumunu ayarlayın. Bu onScrollChanged (int, int, int, int) için bir çağrıya neden olur ve görünüm geçersiz kılınır.

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

Hey Lucas, kod parçacığınız var, oldukça kafam karıştı. Teşekkürler, Faysal –

+1

Merhaba, size yardımcı olacak daha fazla bilgi ekledim. –

+0

Teşekkürler adam bunu bilmiyordum! –

2

Bir konuma atlamak yerine "düz kaydırma" olmak üzere iki yöntem vardır.

dışarı http://developer.android.com/reference/android/widget/ScrollView.html

smoothScrollBy() ve smoothScrollTo() için kontrol edin.

Bu yardımcı olur umarım.

+0

Kaydırma görünümünden bahsediyorsunuz ve soru bir liste görünümündeydi. Listview ayrıca bazı temiz özelliklere de sahiptir: smootScrollToPosition ve smootScrollByOffset. Bununla birlikte, bunlar sadece api seviyesi 8 ve 11'de mevcuttur. 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); 

} 
İlgili konular