有人已经发过了,我掐头去尾精简了一下
这种效果跟图和布局有很大关系,并不难。
先看布局:
在看代码:
这种效果跟图和布局有很大关系,并不难。
先看布局:
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical" >
- <LinearLayout
- android:id="@+id/layout"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical"
- android:background="@drawable/whatsnew_bg"
- android:gravity="center_horizontal|bottom"
- android:visibility="visible"
- >
- <Button
- android:id="@+id/btn_start"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="开始我的性生活"
- android:textSize="18sp"
- android:textColor="#FFFFFFFF"
- android:background="@drawable/button_bg"
- android:layout_marginBottom="20dip"
- />
- </LinearLayout>
- <LinearLayout
- android:id="@+id/animLayout"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="horizontal"
- >
- <LinearLayout
- android:id="@+id/leftLayout"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:layout_weight="1"
- >
- <ImageView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:src="@drawable/whatsnew_left"
- android:layout_weight="1"
- />
- <ImageView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:src="@drawable/whatsnew_left_m"
- />
- </LinearLayout>
- <LinearLayout
- android:id="@+id/rightLayout"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:layout_weight="1"
- >
- <ImageView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:src="@drawable/whatsnew_right_m"
- />
- <ImageView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:src="@drawable/whatsnew_right"
- android:layout_weight="1"
- />
- </LinearLayout>
- </LinearLayout>
- </LinearLayout>
在看代码:
- 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(){
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- switch (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() {
- @Override
- public void onAnimationStart(Animation animation) {
- }
- @Override
- public void onAnimationRepeat(Animation animation) {
- }
- @Override
- public 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);
- }
- });
- }
- }