您的位置:首页 > 移动开发 > 微信开发

Android 仿微信Activity左右切换 【全局配置Activity显示动画】

2014-08-16 13:44 549 查看
反编译的了微信的包才知道这做饭,惭愧惭愧...


      


AndroidManifest.xml 注意application节点 的android:theme属性



[html] view
plaincopyprint?

<manifest xmlns:android="http://schemas.android.com/apk/res/android"  

    package="com.example.activityanimationdemo"  

    android:versionCode="1"  

    android:versionName="1.0" >  

  

    <uses-sdk  

        android:minSdkVersion="8"  

        android:targetSdkVersion="15" />  

  

    <application  

        android:icon="@drawable/ic_launcher"  

        android:label="@string/app_name"  

        android:theme="@style/AppTheme" >  

        <activity  

            android:name=".OneActivity"  

            android:label="@string/title_activity_main" >  

            <intent-filter>  

                <action android:name="android.intent.action.MAIN" />  

  

                <category android:name="android.intent.category.LAUNCHER" />  

            </intent-filter>  

        </activity>  

        <activity android:name=".TwoActivity" >  

        </activity>  

        <activity android:name=".ThreeActivity" >  

        </activity>  

    </application>  

  

</manifest>  

看这里,主要的部分:styles.xml 

[java] view
plaincopyprint?

<resources xmlns:android="http://schemas.android.com/apk/res/android">  

  

    <style name="AppTheme" parent="@android:style/Theme">  

  

        <!-- 设置没有标题 -->  

        <item name="android:windowNoTitle">true</item>  

        <!-- 设置activity切换动画 -->  

        <item name="android:windowAnimationStyle">@style/activityAnimation</item>  

    </style>  

    <!-- animation 样式 -->  

    <style name="activityAnimation" parent="@android:style/Animation">  

        <item name="android:activityOpenEnterAnimation">@anim/slide_right_in</item>  

        <item name="android:activityOpenExitAnimation">@anim/slide_left_out</item>  

        <item name="android:activityCloseEnterAnimation">@anim/slide_left_in</item>  

        <item name="android:activityCloseExitAnimation">@anim/slide_right_out</item>  

    </style>  

  

</resources>  

slide_left_in.xml

[html] view
plaincopyprint?

<?xml version="1.0" encoding="utf-8"?>  

<set xmlns:android="http://schemas.android.com/apk/res/android" >  

  

    <translate  

        android:duration="200"  

        android:fromXDelta="-100.0%p"  

        android:toXDelta="0.0" />  

  

</set>  

slide_left_out.xml

[html] view
plaincopyprint?

<?xml version="1.0" encoding="utf-8"?>  

<set xmlns:android="http://schemas.android.com/apk/res/android" >  

  

    <translate  

        android:duration="200"  

        android:fromXDelta="0.0"  

        android:toXDelta="-100.0%p" />  

  

</set>  

slide_right_in.xml

[html] view
plaincopyprint?

<?xml version="1.0" encoding="utf-8"?>  

<set xmlns:android="http://schemas.android.com/apk/res/android" >  

  

    <translate  

        android:duration="200"  

        android:fromXDelta="100.0%p"  

        android:toXDelta="0.0" />  

  

</set>  

slide_right_out.xml

[html] view
plaincopyprint?

<?xml version="1.0" encoding="utf-8"?>  

<set xmlns:android="http://schemas.android.com/apk/res/android" >  

  

    <translate  

        android:duration="200"  

        android:fromXDelta="0.0"  

        android:toXDelta="100.0%p" />  

  

</set>  

Activity 代码,很简单,就是startactivity而已不需要什么特别的

[java] view
plaincopyprint?

package com.example.activityanimationdemo;  

  

import android.app.Activity;  

import android.content.Intent;  

import android.os.Bundle;  

import android.view.View;  

  

/** 

 *  

 * @fileName OneActivity.java 

 * @author naibo-liao 

 * @CreateTime 2013-5-20 上午11:55:04 

 */  

public class OneActivity extends Activity {  

  

    public void onCreate(Bundle savedInstanceState) {  

        super.onCreate(savedInstanceState);  

        setContentView(R.layout.layout_one);  

        findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {  

            @Override  

            public void onClick(View v) {  

                startActivity(new Intent(OneActivity.this, TwoActivity.class));  

            }  

        });  

        // 返回事件  

        findViewById(R.id.btn_exit).setOnClickListener(  

                new View.OnClickListener() {  

                    @Override  

                    public void onClick(View v) {  

                        finish();  

                    }  

                });  

    }  

}  

上一张工程图



就这些
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android