`

仿微信的开门效果

阅读更多
有人已经发过了,我掐头去尾精简了一下




这种效果跟图和布局有很大关系,并不难。
先看布局:
<?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);
			}
		});
		
    }
}


其他见附件:
  • 大小: 360.4 KB
  • 大小: 308.9 KB
分享到:
评论
2 楼 weisi2375 2012-06-11  
博主很邪恶 , 木有小鸡鸡。
1 楼 ganggang1st 2012-06-03  
感谢楼主的无私奉献。。。。。。。。。。。

相关推荐

    仿微信开门动画

    在IT行业中,用户体验是至关重要的,而动画效果作为提升...总之,仿微信开门动画的实现需要结合动画框架、视图操作、过渡效果、性能优化等多个方面的技术,通过精心设计和编程,最终打造出一个既美观又流畅的用户体验。

    仿引导页面微信开门效果

    在Android开发领域,"仿引导页面微信开门效果"是一种常见的用户体验设计,用于引导用户首次使用应用时了解其主要功能和操作方式。这种效果通常在应用启动时以一系列精美的动画或者图片展示,模拟微信的“开门”动画...

    Android 高仿微信导航页开门效果源码

    Android 高仿微信导航页开门效果源码 源码不错 分享一下

    安卓app开发项目-亲,微信高仿导航页开门效果(源码).zip

    安卓app开发项目-亲,微信高仿导航页开门效果(源码).zip安卓app开发项目-亲,微信高仿导航页开门效果(源码).zip安卓app开发项目-亲,微信高仿导航页开门效果(源码).zip安卓app开发项目-亲,微信高仿导航页开门效果...

    Android 高仿微信导航页开门效果源码.zip

    【Android 高仿微信导航页开门效果源码】 在Android应用开发中,为了提供用户更加丰富和有趣的交互体验,开发者经常需要实现各种独特的动画效果。本篇将详细解析一款高仿微信导航页“开门”效果的源码,该源码实现...

    安卓Android源码——高仿微信导航页开门效果源码.zip

    【标题】"安卓Android源码——高仿微信导航页开门效果源码.zip" 提供的是一段用于实现类似微信应用中导航页动态开门效果的源代码。这种效果通常出现在主界面与侧滑菜单的切换过程中,给人一种新颖且交互性强的用户...

    Android 高仿微信导航页开门效果源码.zip项目安卓应用源码下载

    Android 高仿微信导航页开门效果源码.zip项目安卓应用源码下载Android 高仿微信导航页开门效果源码.zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合个人学习研究参考 3.适合公司开发项目技术参考

    高仿微信导航页开门效果

    【标题】"高仿微信导航页开门效果"指的是在Android应用开发中,设计的一款与微信应用内导航页面相似的交互效果。这种效果通常体现在主界面的侧滑菜单上,通过手势控制,用户可以像拉开门一样左右滑动来切换不同的...

    Android 高仿微信导航页开门效果源码.rar

    "Android高仿微信导航页开门效果源码"就是一个这样的实例,它展示了如何在Android应用中实现类似微信启动时的“开门”动画效果。这个源码项目可以帮助开发者了解并掌握Android自定义动画的实现技巧。 首先,我们要...

    Android源码——高仿微信导航页开门效果源码.zip

    "Android源码——高仿微信导航页开门效果源码"这个标题指出,我们将会讨论一个关于Android平台的开发项目,其目的是实现类似微信应用中的导航页面的特殊动画效果,即“开门”效果。这种效果通常在用户打开一个新的...

    Android 高仿微信导航页开门效果源码-IT计算机-毕业设计.zip

    在Android应用开发中,高仿微信导航页开门效果是一种常见的动画设计,用于提供用户友好的交互体验。这个项目是针对IT计算机专业学生的毕业设计,旨在帮助他们深入理解Android应用的开发流程,提升代码实践能力,并为...

    Android 高仿微信导航页开门效果源码.zip源码资源下载

    总的来说,这个"Android高仿微信导航页开门效果源码"是一个学习和借鉴Android动画技术的好资源。通过研究和理解源码,开发者可以深入掌握Android动画机制,提高自己的开发技能,同时为自己的应用增添独特的视觉体验...

    Android高仿微信导航页开门效果源码.zip

    "Android高仿微信导航页开门效果源码"就是一个这样的实例,它实现了类似微信App中导航页面的动态过渡效果,即“开门”效果。这个效果在用户切换页面时,给人一种仿佛打开一扇门进入新界面的感觉,既有趣又直观。 要...

    Android代码-高仿微信导航页开门效果源码.zip

    本资源“高仿微信导航页开门效果源码”提供了一个实现类似微信导航页开门动画的示例,这对于提升Android应用的用户体验具有重要的参考价值。 微信导航页开门效果是微信启动时的一种独特动画,它模拟了门打开的动作...

Global site tag (gtag.js) - Google Analytics