2014-09-27 17 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) { 

     } 
    });