Android: синхронизация изображений на fling и onclick также для показа предыдущего и следующего просмотра одинаковых изображений - PullRequest
2 голосов
/ 14 февраля 2012

Я использую флиппер просмотра, чтобы переворачивать около 20 изображений, и пролистываю пальцем, а в нижней части моего занятия у меня есть две кнопки для ручного переключения изображений влево или вправо. Эти два работают, но я не могу показать то же самоеimage:

например: если я проведу пальцем из image2 в image3 и затем нажму кнопку «Показать следующую», то переключится на первое изображение в массиве, но я хочу перейти на третье изображение.Предположим, что у вас есть, но нет логики для решения этой проблемы. Любая помощь будет очень полезной.

Метод заполнения:

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 голосов
/ 14 февраля 2012
...