以编程方式Fling ListView Android

时间:2009-07-31 21:20:10

标签: android listview

有没有办法在listview上以编程方式执行Fling?我知道有猴子做了所有这些事情,但需要与adb等电脑连接。我想在任何手机上使用我的应用程序,没有猴子。

谢谢, 费萨尔

3 个答案:

答案 0 :(得分:2)

有两种方法可以“平滑滚动”而不是跳转到某个位置。

查看http://developer.android.com/reference/android/widget/ScrollView.html

代表smoothScrollBy()smoothScrollTo()

希望这有帮助。

答案 1 :(得分: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);

}

答案 2 :(得分:-1)

你可以用动画伪造它(我认为accele_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