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();
}
});
}
}
上一张工程图
就这些
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 仿微信Activity左右切换 【全局配置Activity显示动画】
- Android 仿微信Activity左右切换 【全局配置Activity显示动画】
- Android 仿微信Activity左右切换 【全局配置Activity显示动画】
- Android Activity左右切换 【全局配置Activity显示动画】
- 转 Android的Activity屏幕切换动画(一)-左右滑动切换
- Android的Activity屏幕切换动画-左右滑动切换
- Android的Activity屏幕切换动画(ExitAnim)-左右滑动切换(直播退出效果)
- Android的Activity屏幕切换动画(一)-左右滑动切换
- Android Activity屏幕切换动画-左右滑动切换
- Android的Activity屏幕切换动画(一)-左右滑动切换
- 位置动画Android的Activity屏幕切换动画(一)-左右滑动切换
- Android的Activity屏幕切换动画-左右滑动深入与实战
- Android的Activity屏幕切换动画(一)-左右滑动切换
- Android的Activity屏幕切换动画(二)-左右滑动深入与实战
- Android的Activity屏幕切换动画(一)-左右滑动切换
- android仿微信的activity平滑水平切换动画
- Android的Activity屏幕切换动画左右滑动切换
- Android的Activity屏幕切换动画(二)-左右滑动深入与实战
- Android的Activity屏幕切换动画(一)-左右滑动切换
- Android的Activity屏幕切换动画(一)-左右滑动切换