仿微信的开门效果
有人已经发过了,我掐头去尾精简了一下

这种效果跟图和布局有很大关系,并不难。
先看布局:
在看代码:package com.dl.app;import android.app.Activity;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.animation.Animation;import android.view.animation.AnimationUtils;import android.view.animation.Animation.AnimationListener;import android.widget.Button;import android.widget.LinearLayout;public class TestOpenDoorActivity extends Activity {private Context context;private Button btn_start;private LinearLayout layout;private LinearLayout animLayout;private LinearLayout leftLayout;private LinearLayout rightLayout; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); this.context=this; initViews(); } private void initViews(){ btn_start=(Button)findViewById(R.id.btn_start); btn_start.setOnClickListener(onClickListener); layout = (LinearLayout) findViewById(R.id.layout); animLayout = (LinearLayout) findViewById(R.id.animLayout);leftLayout = (LinearLayout) findViewById(R.id.leftLayout);rightLayout = (LinearLayout) findViewById(R.id.rightLayout); } View.OnClickListener onClickListener=new View.OnClickListener(){@Overridepublic void onClick(View v) {// TODO Auto-generated method stubswitch (v.getId()) {case R.id.btn_start:doOpenDoor();break;default:break;}} }; private void doOpenDoor(){ layout.setVisibility(View.GONE); animLayout.setVisibility(View.VISIBLE); Animation leftOutAnimation = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.translate_left);Animation rightOutAnimation = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.translate_right);leftLayout.setAnimation(leftOutAnimation);rightLayout.setAnimation(rightOutAnimation);leftOutAnimation.setAnimationListener(new AnimationListener() {@Overridepublic void onAnimationStart(Animation animation) {}@Overridepublic void onAnimationRepeat(Animation animation) {}@Overridepublic void onAnimationEnd(Animation animation) {leftLayout.setVisibility(View.GONE);rightLayout.setVisibility(View.GONE);Intent intent = new Intent(context,OtherActivity.class);startActivity(intent);finish();overridePendingTransition(R.anim.zoom_out_enter, R.anim.zoom_out_exit);}}); }}
其他见附件: 1 楼 ganggang1st 2012-06-03 感谢楼主的无私奉献。。。。。。。。。。。 2 楼 weisi2375 2012-06-11 博主很邪恶 , 木有小鸡鸡。