Android:在fling和onclick上同步图像也可以显示上一个和下一个查看相同的图像

时间:2012-02-14 11:42:55

标签: android viewflipper

我正在使用视图鳍状肢翻转20张图像并在滑动时翻转,在我的活动底部我有两个按钮,用于手动切换图像左或右。这两个正在工作,但我无法显示相同图像:

例如: 如果我从image2滑动到image3然后我点击显示下一个按钮然后它切换到阵列中的第一个图像,但我想转到第三个image4.I知道它显示了他们想要做的特性,但没有任何逻辑要解决这个问题。任何帮助都会非常明显。

onfling方法:

public boolean onFling(MotionEvent event1, MotionEvent event2, float velocityX,float velocityY){               
    if(isDragMode)                      
        return false;                             
    final float ev1x = event1.getX();               
    final float ev1y = event1.getY();                  
    final float ev2x = event2.getX();              
    final float ev2y = event2.getY();                
    final float xdiff = Math.abs(ev1x - ev2x);               
    final float ydiff = Math.abs(ev1y - ev2y);                
    final float xvelocity = Math.abs(velocityX);               
    final float yvelocity = Math.abs(velocityY);                         
    if(xvelocity > this.SWIPE_MIN_VELOCITY && xdiff > this.SWIPE_MIN_DISTANCE){  
        //vf1.removeAllViewsInLayout();
        vf1.removeViewInLayout(im);
        i1.setVisibility(View.VISIBLE);
        if(ev1x > ev2x) //Swipe Right {                                
            ++currentview;                                                                 
            if(currentview >= a.length){                                         
                currentview = a.length - 1;              
            }  
            vf.setInAnimation(animleftin);                       
            vf.setOutAnimation(animleftout);   
        }else{                               
            --currentview;                                                                  
            if(currentview < 0){                                          
                currentview = 0;                               
            }    
            vf.setInAnimation(animrightin);                              
            vf.setOutAnimation(animrightout);               
        }                                                 
        vf.scrollTo(0,0);                         
        vf.setDisplayedChild(currentview);             
    }
    return false;            
}

Onclick事件:

ImageView rit=(ImageView)findViewById(R.id.imageView6);
rit.setOnClickListener(new OnClickListener(){
    public void onClick(View arg0) {
        // TODO Auto-generated method stub
        vf.showNext();
    }   
});

1 个答案:

答案 0 :(得分:-1)