我已经从下面的链接实现了整个示例,但无法将特定图像的位置聚焦在中心位置。
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类,如果我将运行此代码,在图像的第一个位置它将显示输出,如位置:0 但是当我向右滑动图像时向左,在第二个图像位置,它会给我输出像位置:2 ,而这是错误的输出。
所以它将直接从位置0 移动到位置2 ,所以我需要你的帮助才能使它正确,点击按钮我必须通过这个形状或图像到下一个活动。
我们将非常感谢您的宝贵意见和额外努力。
答案 0 :(得分: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) {
}
});