Android 分享一个简单有趣的动画效果

本期开始于大家分享几个简单又有趣的动画

效果图:



效果还是不错的,而实现起来也并没有多大的难度,上代码喽

	public int id[] = { R.drawable.fengjing_1, R.drawable.fengjing_2,
			R.drawable.fengjing_3, R.drawable.fengjing_4,
			R.drawable.fengjing_5, R.drawable.fengjing_6 };

	public String list[] = { "一", "二", "三", "四", "五", "六" };
	private ListView mListView;
	private ImageView mImageView;

	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		initView();
	}

	private void initView() {
		mListView = (ListView) findViewById(R.id.list);
		ArrayAdapter<String> adapter = new ArrayAdapter<String>(
				MainActivity.this, android.R.layout.simple_list_item_1, list);
		mListView.setAdapter(adapter);
		mListView.setOnItemClickListener(this);
		mImageView = (ImageView) findViewById(R.id.img);
		mImageView.setOnClickListener(this);
	}

	@SuppressLint("NewApi")
	private void animation(final int position) {
		final View vis;
		final View inVis;
		if (mListView.getVisibility() == View.VISIBLE) {
			vis = mListView;
			inVis = mImageView;
		} else {
			vis = mImageView;
			inVis = mListView;
		}
		ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(vis,
				"RotationY", 0f, 90f);
		objectAnimator.setDuration(500);
		objectAnimator.start();
		final ObjectAnimator objectAnimator2 = ObjectAnimator.ofFloat(
				inVis, "RotationY", -90f, 0f);
		objectAnimator2.setDuration(500);
		objectAnimator.addListener(new AnimatorListenerAdapter() {
			@Override
			public void onAnimationEnd(Animator animation) {
				super.onAnimationEnd(animation);
				objectAnimator2.start();
				vis.setVisibility(View.GONE);
				mImageView.setImageResource(id[position]);
				inVis.setVisibility(View.VISIBLE);
			}
		});

	}

	@Override
	public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
		animation(arg2);
	}

	@Override
	public void onClick(View arg0) {
		animation(0);
	}

主要是运用了属性动画,关于属性动画等我有更多的心得的时候再详细讲述。。本期纯属分享效果,十分的水啊。。。


项目源码



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值