Программно Fling ListView Android - PullRequest
5 голосов
/ 01 августа 2009

Есть ли способ, которым я могу программно выполнить Fling для списка? Я знаю, что есть обезьяна, которая делает все это, но требует подключения к компьютеру с помощью ADB и т. Д. И т. Д. Я хочу сделать это с моим приложением на любом телефоне, без обезьяны.

Спасибо, Фейсал

Ответы [ 3 ]

2 голосов
/ 08 мая 2010

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

Выезд http://developer.android.com/reference/android/widget/ScrollView.html

для smoothScrollBy() и smoothScrollTo().

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

1 голос
/ 15 декабря 2010
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);

}
0 голосов
/ 01 августа 2009

Вы можете подделать это с анимом (я думаю, что 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...