读书人

仿微信的开门成效

发布时间: 2012-07-24 17:47:58 作者: rapoo

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




这种效果跟图和布局有很大关系,并不难。
先看布局:



在看代码:
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 博主很邪恶 , 木有小鸡鸡。

读书人网 >移动开发

热点推荐