关闭

android仿微信的activity平滑水平切换动画

190人阅读 评论(0) 收藏 举报
分类:


         大家好,下面我们来探讨一下微信界面跳转的动画,简单,大方,不失华丽:overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right);是可以完成的,这里会用到不少的xml文件来完成,下面我们来直接看看主要代码:(不过要在startActivity后和finish()前,而且每个activity都要这样的),还要注意在AndroidManifest.xml中定义application节点的主题。


1.主函数:

public class MainActivity extends Activity {

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		Application app=getApplication();
		 int sdk=android.os.Build.VERSION.SDK_INT;
		 Toast.makeText(this, sdk+"", Toast.LENGTH_LONG).show();
		 if (sdk>14) {
			// app.setTheme(android.R.style.Theme_Black_NoTitleBar);			 
		}		
		//ButtonClick.clickto(this,Two.class);
		findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
		        startActivity(new Intent(MainActivity.this,Two.class));
		        overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right);
			}
		});
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.activity_main, menu);
		return true;
	}

}


2.anim里的xml:


1).slide_left_in.xml

<?xml version="1.0" encoding="utf-8"?>
<set
  xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:duration="300" android:fromXDelta="-100.0%p" android:toXDelta="0.0" />
</set>

2).slide_left_out.xml

<?xml version="1.0" encoding="utf-8"?>
<set
  xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:duration="300" android:fromXDelta="0.0" android:toXDelta="-100.0%p" />
</set>

3).slide_right_in.xml

<?xml version="1.0" encoding="utf-8"?>
<set
  xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:duration="300" android:fromXDelta="100.0%p" android:toXDelta="0.0" />
</set>

4).slide_right_out.xml

<?xml version="1.0" encoding="utf-8"?>
<set
  xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:duration="300" android:fromXDelta="0.0" android:toXDelta="100.0%p" />
</set>

3.styles里的代码:



<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="AppTheme" parent="@android:style/Theme">     
        <item name="android:windowNoTitle">true</item> <!-- 设置没有标题 -->
        <item name="android:textSize">20sp</item>   <!-- 设置文本大小 -->
          <item name="android:textColor">#F34141</item>
        <item name="android:background">@android:color/background_light</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>
OK,其他的Activity里面都没有什么代码,监听你们都是会的,就到这里了     点击下载案例            点击下载案例


  

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:232721次
    • 积分:3914
    • 等级:
    • 排名:第9103名
    • 原创:168篇
    • 转载:65篇
    • 译文:0篇
    • 评论:63条
    博客专栏
    文章分类
    最新评论