Android FancyCoverFlow的使用实现图片画廊形式的呈现






                      


使用类 FancyCoverFlowSampleAdapter来实现 ,所以要先将相关控件引入项目中


相关资源类下载:http://download.csdn.net/detail/zl18603543572/9314029


public class MainActivity extends ActionBarActivity {

	private FancyCoverFlow mFancyCoverFlow;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		mFancyCoverFlow = (FancyCoverFlow) findViewById(R.id.facyCoverFlow);
		 sample();
	}
	private void sample() {
		//设置数据
		this.mFancyCoverFlow.setAdapter(new FancyCoverFlowSampleAdapter());
		//设置未选中的图的透明度
		this.mFancyCoverFlow.setUnselectedAlpha(1.0f);
		//设置未选中的图的色彩饱和度
		this.mFancyCoverFlow.setUnselectedSaturation(0.0f);
		//未被选中的图像的缩放比例
		this.mFancyCoverFlow.setUnselectedScale(0.5f);
		//设置两个图之间的比例
		this.mFancyCoverFlow.setSpacing(50);
		//设置未选中图像的最大旋转角度 
		this.mFancyCoverFlow.setMaxRotation(0);
		//设置未被 选中图像的下沉度
		this.mFancyCoverFlow.setScaleDownGravity(0.2f);
		this.mFancyCoverFlow
				.setActionDistance(FancyCoverFlow.ACTION_DISTANCE_AUTO);
	}



public class FancyCoverFlowSampleAdapter extends FancyCoverFlowAdapter {

    //加载显示图片的资源
    private int[] images = {R.drawable.image1, R.drawable.image2, R.drawable.image3, R.drawable.image4, R.drawable.image5, R.drawable.image6,};

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

    @Override
    public Integer getItem(int i) {
        return images[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(300, 400));
        }
        //显示图像
        imageView.setImageResource(this.getItem(i));
        return imageView;
    }
}


activity_layout.xml中


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:fcf="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.fancycoverflowdemo.MainActivity" >

    <com.example.fancycoverflowdemo.FancyCoverFlow
        android:id="@+id/facyCoverFlow"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        fcf:maxRotation="45"
        fcf:unselectedAlpha="0.3"
        fcf:unselectedSaturation="0.0"
        fcf:unselectedScale="0.4" />

</LinearLayout>
<!--
     fcf:maxRotation="45"
        fcf:unselectedAlpha="0.3"
        fcf:unselectedSaturation="0.0"
        fcf:unselectedScale="0.4"
        fcf:scaleDownGravity="0.5"
-->














早起的年轻人 CSDN认证博客专家 移动开发 项目管理 Java
只要用心去做,每一件事情还是有可能成功的,当然成功是没有界限的,只不过是达到自己心里的那个目标,公众号:我的大前端生涯,一个爱喝茶的程序员,通常会搞搞SpringBoot 、Herbinate、Mybatiys、Android、iOS、Flutter、Vue、小程序等.
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页