2014-09-27 8 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; 
    } 
} 

내가 구현 한 모두 자바 :

내 클래스에 아래의 코드를 구현했습니다 클래스와 만약 내가이 코드를 실행합니다, 이미지의 첫 번째 위치에있을거야 l 출력을 과 같이 표시합니다. 위치 : 0하지만 이미지를 오른쪽에서 왼쪽으로 스 와이프하면 두 번째 이미지 위치에서이 출력을 내게 줄 것입니다. 위치 : 2 이것은 잘못된 출력이지만 반면.

은 그래서 직접 위치에서 0 위치 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) { 

     } 
    });