`
iaiai
  • 浏览: 2197033 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android Viewpager滑动背景颜色变化的动画

 
阅读更多
效果:


package cn.taurusxi.guidebackgroundcoloranimation.sample;

import android.annotation.SuppressLint;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.support.v4.view.ViewPager;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;

import cn.taurusxi.guidebackgroundcoloranimation.library.ColorAnimationView;

public class SampleActivity
		extends FragmentActivity
		implements ColorAnimationView.OnPageChangeListener {
	private static final int[] resource = new int[]{R.drawable.welcome1, R.drawable.welcome4,
			R.drawable.welcome3, R.drawable.welcome4};
	private static final String TAG = SampleActivity.class.getSimpleName();

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_sample);
		MyFragmentStatePager adpter = new MyFragmentStatePager(getSupportFragmentManager());
		ColorAnimationView colorAnimationView = (ColorAnimationView) findViewById(R.id.ColorAnimationView);
		ViewPager viewPager = (ViewPager) findViewById(R.id.viewPager);
		viewPager.setAdapter(adpter);
		/**
		 *  首先,你必须在 设置 Viewpager的 adapter 之后在调用这个方法
		 *  第二点,setmViewPager(ViewPager mViewPager,Object obj, int count, int... colors)
		 *         第一个参数 是 你需要传人的 viewpager
		 *         第二个参数 是 一个实现了ColorAnimationView.OnPageChangeListener接口的Object,用来实现回调
		 *         第三个参数 是 viewpager 的 孩子数量
		 *         第四个参数 int... colors ,你需要设置的颜色变化值~~ 如何你传人 空,那么触发默认设置的颜色动画
		 * */
		/**
		 *  Frist: You need call this method after you set the Viewpager adpter;
		 * Second: setmViewPager(ViewPager mViewPager,Object obj, int count, int... colors)
		 *          so,you can set any length colors to make the animation more cool!
		 * Third: If you call this method like below, make the colors no data, it will create
		 *          a change color by default.
		 * */
		colorAnimationView.setmViewPager(viewPager, this, resource.length);
		// Four : Also ,you can call this method like this:
		// colorAnimationView.setmViewPager(viewPager,this,resource.length,0xffFF8080,0xff8080FF,0xffffffff,0xff80ff80);
	}

	// 实现 OnPageChangeListener的回调方法
	//Implement OnPageChangeListener callback methods
	@Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
		Log.e(TAG, "call onPageScrolled method");
	}

	// 实现 OnPageChangeListener的回调方法
	//Implement OnPageChangeListener callback methods
	@Override public void onPageSelected(int position) {
		Log.e(TAG, "call onPageSelected method");
	}

	// 实现 OnPageChangeListener的回调方法
	//Implement OnPageChangeListener callback methods
	@Override public void onPageScrollStateChanged(int state) {
		Log.e(TAG, "call onPageScrollStateChanged method");
	}


	public class MyFragmentStatePager
			extends FragmentStatePagerAdapter {

		public MyFragmentStatePager(FragmentManager fm) {
			super(fm);
		}

		@Override public Fragment getItem(int position) {
			return new MyFragment(position);
		}

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

	@SuppressLint("ValidFragment") public class MyFragment
			extends Fragment {
		private int position;

		public MyFragment(int position) {
			this.position = position;
		}

		@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
			ImageView imageView = new ImageView(getActivity());
			imageView.setImageResource(resource[position]);
			return imageView;
		}
	}
}
  • 大小: 1 MB
分享到:
评论

相关推荐

    android viewpager各种滑动动画

    综上所述,通过自定义`PageTransformer`,我们可以轻松地为Android的ViewPager添加各种滑动动画效果,提升应用的交互体验。只要理解了基础原理,就可以根据自己的需求创造出更多独特的动画效果。

    android viewpager滑动效果

    总之,“android viewpager滑动效果”项目为开发者提供了便捷的方式,以实现丰富多样的ViewPager滑动动画,提升了应用的交互性和视觉吸引力。通过深入研究和实践,开发者可以更好地掌握这一组件,并在自己的应用中...

    Android ViewPager多页面滑动切换以及动画效果

    Android ViewPager实现仿QQ多页面滑动切换以及动画效果

    Android ViewPager切换的七种动画

    Android ViewPager切换的七种动画,分别是:深入浅出,立方体,旋转,左右折叠,右上角进入,右下角进入和淡入淡出。

    Android ViewPager+Fragment,ViewPager标示跟着ViewPager滑动而同时滑动

    接下来,为了实现“标示跟着ViewPager滑动而同时滑动”的效果,我们需要添加一个指示器组件。常见的指示器有圆点指示器、文字指示器等。这里我们以圆点指示器为例,创建一个自定义的`LinearLayout`,包含多个小圆点...

    自定义ViewPager滑动同时显示颜色渐变并显示相邻Fragement边缘

    总结来说,自定义ViewPager滑动时显示颜色渐变并显示相邻Fragment边缘是一个涉及到动画、布局设计、颜色处理、事件监听和性能优化等多个Android开发核心知识点的挑战。通过熟练掌握这些技术,开发者可以创建出更具...

    android viewpager滑动用户引导欢迎页

    在Android开发中,`ViewPager`是一个非常常用的组件,它允许用户通过左右滑动来浏览多个页面,这种特性在实现用户引导或欢迎界面时尤为适用。本文将深入探讨如何使用`ViewPager`来创建一个滑动的用户引导欢迎页。 ...

    android viewpager左右无限滑动

    "android viewpager 左右无限滑动"这一主题,意味着我们要创建一个可以无限制地向左或向右滑动的ViewPager实现,即用户在滑动到最后一页时,可以继续滑动到页面的起始位置,形成一种循环的效果。下面将详细介绍如何...

    重写ViewPager修改滑动灵敏度

    ViewPager内部通过一个叫做`ViewPager.PageTransformer`的接口来处理页面的滑动动画。默认情况下,ViewPager会检测手指在屏幕上的滑动距离和速度,当滑动距离超过一定阈值时,就会触发页面切换。这个阈值是由`...

    Android ViewPager和Fragment 实现滑动切换页面

    在实际应用中,你可能还需要处理更复杂的场景,如动态加载数据、自定义滑动动画、处理页面间的通信等。`ViewPager`和`Fragment`的组合不仅提供了灵活的页面切换,也为大型应用程序的架构设计提供了便利,使代码更加...

    android 仿微信viewpager滑动样式

    综上所述,实现“android 仿微信viewpager滑动样式”主要涉及到自定义PageTransformer、滑动监听、指示器的联动、滑动速度控制、动画效果、性能优化以及手势识别等多个方面。通过熟练掌握这些技术,开发者可以为自己...

    Android ViewPager实现左右循环滑动及轮播效果

    在Android开发中,ViewPager是一个非常重要的组件,常用于展示多个页面并允许用户通过左右滑动切换页面。在标题“Android ViewPager实现左右循环滑动及轮播效果”中,提到的关键技术点是使ViewPager具备循环滑动和...

    自定义ViewPager (禁止滑动和去除切换效果)

    自定义ViewPager (禁止滑动和去除切换效果) viewPager.setNoScroll(true);//禁止手动滑动

    android_viewPager左右滑动_实现光标动态滑动效果

    在Android开发中,ViewPager是一个非常重要的组件,常用于实现页面间的滑动切换,尤其是在构建具有多个内容页的应用或组件时。本教程将详细介绍如何利用ViewPager实现左右滑动,并结合动态光标来指示当前页面,创建...

    ViewPager的指示标跟随ViewPager滑动而滑动

    在Android开发中,ViewPager是一个非常常用的组件,它用于展示多个页面并允许用户通过左右滑动来切换页面。在这个示例中,我们关注的是如何实现一个指示条,它能随着ViewPager的滑动动态改变位置,以反映当前显示的...

    Android控件ViewPager实现带有动画的引导页

    在布局文件中,我们可以添加一个 Button 控件,并设置其文本、背景颜色等属性。例如: ```xml android:id="@+id/bt_main" android:layout_width="wrap_content" android:layout_height="wrap_content" android:...

Global site tag (gtag.js) - Google Analytics