2014-09-27 35 views
1

我已經從下面的鏈接實現了整個示例,但無法獲得以中心位置爲中心的特定圖像的位置。如何在android中使用fancycoverflow獲取位置

https://github.com/davidschreiber/FancyCoverFlow

所以我應該爲此做些什麼呢?

我實現下面的代碼,我的課:

MainActivity.java

this.fancyCoverFlow.setAdapter(new FancyCoverFlowSampleAdapter()); 
    this.fancyCoverFlow.setUnselectedAlpha(1.0f); 
    this.fancyCoverFlow.setUnselectedSaturation(0); 
    this.fancyCoverFlow.setUnselectedScale(0); 
    this.fancyCoverFlow.setSpacing(0); 
    this.fancyCoverFlow.setMaxRotation(0); 
    this.fancyCoverFlow.setScaleDownGravity(0.2f); 
    this.fancyCoverFlow.setActionDistance(FancyCoverFlow.ACTION_DISTANCE_AUTO); 

FancyCoverFlowSampleAdapter.class

public class FancyCoverFlowSampleAdapter extends FancyCoverFlowAdapter { 

    @Override 
    public int getCount() { 
     return GlobalFields.arrlistFrames.length; 
    } 

    @Override 
    public Integer getItem(int i) { 
     return GlobalFields.arrlistFrames[i]; 
    } 

    @Override 
    public long getItemId(int i) { 
     return i; 
    } 

    @Override 
    public View getCoverFlowItem(int i, View reuseableView, ViewGroup viewGroup) { 
     ImageView imageView = null; 

     if (reuseableView != null) { 
      imageView = (ImageView) reuseableView; 
     } else { 
      imageView = new ImageView(viewGroup.getContext()); 
      imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE); 
      imageView.setLayoutParams(new FancyCoverFlow.LayoutParams(400, 500)); 
      GlobalFields.i = i; 
      Log.e("FancyFlow adapter", "Position: " +i); 
     } 
     imageView.setImageResource(this.getItem(i)); 
     return imageView; 
    } 
} 

我實現了Java類,如果我將運行此代碼,它將在圖像的第一個位置l顯示輸出像位置:0但是當我從右到左滑動圖像,在第二個圖像位置它會給我這樣的輸出位置:2而這是錯誤的輸出。

因此,這將直接從移動位置到位置2,所以我需要你的幫助,使其正確的,上的一個按鈕我有這種形狀或圖像傳遞到下一個活動的點擊。

您的寶貴意見和額外的努力將不勝感激。

回答

4

您需要爲setOnItemSelectedListener設置。請參閱下面的代碼

this.fancyCoverFlow.setOnItemSelectedListener(new OnItemSelectedListener() { 

     @Override 
     public void onItemSelected(AdapterView<?> parent, View view, 
       int position, long id) { 
      Log.d("fancyFlowCurPos ", String.valueOf(position)); 
     } 

     @Override 
     public void onNothingSelected(AdapterView<?> parent) { 

     } 
    });