Android 界面切换动画效果

先看效果(第一次玩视频转GIF图片,效果可能有点小失望):



Android自带的界面切换效果一般是左右式的,感觉不是很舒服。为了让我们的应用更加人性化,可以自定义一些切换动画效果,下面列出了几种,如果感觉不是很满意,可以自己修改anim文件夹下动画文件的X,Y值等参数,下面有源代码附件:


MainActivity.java

public class MainActivity extends Activity implements OnClickListener {

	Spinner sp=null;
	Button btn_another=null;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		sp=(Spinner) findViewById(R.id.animation_sp);
		btn_another=(Button) findViewById(R.id.btn_another);
		
		// 通过资源文件获取Spinner填充内容
		String[] ls = getResources().getStringArray(R.array.anim_type);
		List<String> list = new ArrayList<String>();
		// 把数组内容填充 到集合
		for (int i = 0; i < ls.length; i++) {
			list.add(ls[i]);
		}
		ArrayAdapter<String> animType = new ArrayAdapter<String>(this,
				android.R.layout.simple_spinner_item, list);
		animType.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
		sp.setAdapter(animType);
		sp.setSelection(0);
		
		btn_another.setOnClickListener(this);
	}
	@Override
	public void onClick(View v) {
		Intent intent = new Intent();
		intent.setClass(MainActivity.this, AnotherActivity.class);
		startActivity(intent);
		
		switch(sp.getSelectedItemPosition()){
		case 0: //淡入淡出效果
			overridePendingTransition(R.anim.fade, R.anim.hold);
			break;
		case 1: //放大淡出效果1
			overridePendingTransition(R.anim.my_scale_action,
					R.anim.my_alpha_action);
			break;
		case 2: //放大淡出效果2
			overridePendingTransition(R.anim.wave_scale,
					R.anim.my_alpha_action);
			break;
		case 3: //转动淡出效果1
			overridePendingTransition(R.anim.scale_rotate,
					R.anim.my_alpha_action);
			break;
		case 4: //转动淡出效果2
			overridePendingTransition(R.anim.scale_translate_rotate,
					R.anim.my_alpha_action);
			break;
		case 5: //左上角展开淡出效果
			overridePendingTransition(R.anim.scale_translate,
					R.anim.my_alpha_action);
			break;
		case 6: //压缩变小淡出效果
			overridePendingTransition(R.anim.hyperspace_in,
					R.anim.hyperspace_out);
			break;
		case 7: //下往上推出效果
			overridePendingTransition(R.anim.push_up_in,
					R.anim.push_up_out);
			break; 
		case 8: //右往左推出效果
			overridePendingTransition(R.anim.push_left_in,
					R.anim.push_left_out);
			break;
		case 9: //左右交错效果
			overridePendingTransition(R.anim.slide_left,
					R.anim.slide_right);
			break;
		case 10: //缩小效果
			overridePendingTransition(R.anim.zoom_enter,
					R.anim.zoom_exit);
			break;
		case 11: //上下交错效果
			overridePendingTransition(R.anim.slide_up_in,
					R.anim.slide_down_out);
			break;
		}
	}
}

  附件



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值