FancyCoverFlow(3d画廊)

首先,先将这个控件的三个类放入项目中,
然后,在布局文件中写这个控件,什么都不用写,设置id,宽高就可以
再来,在java代码中,找到这个对象,设置一下Adapter,这样就好了

到这了,报了一个错,R文件里缺少了一个东西,将attr文件复制到res的values下就解决了

		<span style="white-space:pre">	</span>mFancyCoverFlow=(FancyCoverFlow) v.findViewById(R.id.CoverFlow);
			//设置为选中图片的缩放比例
			mFancyCoverFlow.setUnselectedScale(0.5f);
			//设置未被选中图的透明度
			mFancyCoverFlow.setUnselectedAlpha(0.7f);
			//设置图片之间的间距
			mFancyCoverFlow.setSpacing(DensityUtils.dip2px(mActivity, 5));
			//设置未被选中图的旋转角度
			mFancyCoverFlow.setRotation(0);
			//设置未被选中图的下沉度
			mFancyCoverFlow.setScaleDownGravity(0.5f);
			//设置未被选中图的透明度
			
			
			mFancyCoverFlow.setAdapter(new mFancyCoverFlowAdapter());
			mFancyCoverFlow.setSelection(2000)</span>;


//这个Adapter必须继承这个控件自带的Adapter
		class mFancyCoverFlowAdapter extends FancyCoverFlowAdapter{

			@Override
			public int getCount() {
				// TODO Auto-generated method stub
				return Integer.MAX_VALUE;
			}

			@Override
			public Integer getItem(int position) {
				// TODO Auto-generated method stub
				return position;
			}

			@Override
			public long getItemId(int position) {
				// TODO Auto-generated method stub
				return position;
			}

			@Override
			public View getCoverFlowItem(int position, View reusableView,
					ViewGroup parent) {
				// TODO Auto-generated method stub
				ImageView iv=new ImageView(mActivity);
				iv.setScaleType(ImageView.ScaleType.CENTER_CROP);
				
				//这里需要注意,params类型必须是这个控件的params
				iv.setLayoutParams(new FancyCoverFlow.LayoutParams(ScreenWidth/3, ScreenWidth/3));
				iv.setImageResource(imags[position%imags.length]);
				
				return iv;
			}
			
		}

猜你喜欢

转载自blog.csdn.net/qq_15949077/article/details/49253159