2009-07-31 3 views
5

Есть ли способ, которым я могу программно выполнить Fling в списке? Я знаю, что есть обезьяна, которая делает все это, но для этого требуется компьютерное соединение с adb и т. Д. Я хочу сделать это с помощью своего приложения на любом телефоне без обезьяны.Программно 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

Привет, Лукас, у вас есть фрагмент кода, я довольно смущен. Спасибо, Faisal –

+1

Здравствуйте, я добавил дополнительную информацию, которая вам поможет. –

+0

Спасибо, человек, я этого не знал! –

2

Существует два метода «плавного прокрутки», а не переход в позицию.

Заканчивать http://developer.android.com/reference/android/widget/ScrollView.html

для smoothScrollBy() и smoothScrollTo().

Надеюсь, это поможет.

+0

Вы имеете в виду scrollview, и вопрос был для listview. В Listview также есть некоторые опрятные функции: smootScrollToPosition и smootScrollByOffset. Однако они доступны только в 8 и 11 уровнях api соответственно. 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); 

} 
Смежные вопросы