zoukankan      html  css  js  c++  java
  • 利用Theme自定义Activity间的切换动画

    转载请注明出处:http://blog.csdn.net/lmj623565791/article/details/22990643

    大多Android系统默认Activity间的动画切换效果为,右边滑入,左边滑出;有时候我们的需求可能是要求所有Activity的切换为淡入淡出的效果,这时候就可能需要改变一下默认的切换风格。

    下面开始实现:

    首先在res文件夹下建立anim文件夹,然后在里面建立fade_in.xml和fade_out.xml两个动画资源

    fade_in.xml

    <?xml version="1.0" encoding="utf-8"?>
    <alpha xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="300"
        android:fromAlpha="0.0"
        android:interpolator="@android:anim/accelerate_interpolator"
        android:toAlpha="1.0" />
    
    fade_out.xml

    <?xml version="1.0" encoding="utf-8"?>
    <alpha xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="300"
        android:fromAlpha="1.0"
        android:interpolator="@android:anim/accelerate_interpolator"
        android:toAlpha="0.0" />
    
    然后在values文件夹下的styles.xml中的resources标签内写:

     <style name="Anim_fade" parent="android:Theme.NoTitleBar">
            <item name="android:windowAnimationStyle">@style/fade</item>
        </style>
    
        <style name="fade" parent="@android:style/Animation.Activity">
            <item name="android:activityOpenEnterAnimation">@anim/fade_in</item>
            <item name="android:activityOpenExitAnimation">@anim/fade_out</item>
            <item name="android:activityCloseEnterAnimation">@anim/fade_in</item>
            <item name="android:activityCloseExitAnimation">@anim/fade_out</item>
        </style>

    最后一步在AndroidManifest.xml中的Activity的声明上加入android:theme="@style/Anim_fade"

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.customanimationforactivity"
        android:versionCode="1"
        android:versionName="1.0" >
    
        <uses-sdk
            android:minSdkVersion="10"
            android:targetSdkVersion="10" />
    
        <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@android:style/Theme.NoTitleBar" >
            <activity
                android:name="com.example.customanimationforactivity.MainActivity"
                android:label="@string/app_name"
                android:theme="@style/Anim_fade" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <activity android:name=".AppActivity" android:theme="@style/Anim_fade" >
            </activity>
        </application>
    
    </manifest>
    贴下Splash Activity的代码:

    package com.example.customanimationforactivity;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.os.Handler;
    
    public class MainActivity extends Activity
    {
    
    	private Handler handler = new Handler();
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState)
    	{
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		handler.postDelayed(new Runnable()
    		{
    			@Override
    			public void run()
    			{
    				Intent intent = new Intent(MainActivity.this, AppActivity.class);
    				startActivity(intent);
    				finish();
    			}
    		}, 1000);
    
    	}
    
    }
    

    源码下载,点击这里



  • 相关阅读:
    poj 3528 (三维几何求凸包+凸包表面积)
    dijkstra模板(好像是斐波那契额堆优化,但我为什么看起来像优先队列优化,和spfa一样)
    最大空凸包模板
    ICPC 2017–2018, NEERC, Northern Subregional Contest St Petersburg, November 4, 2017 I题
    hdu 5248 序列变换
    hdu 2063(二分图模板测试)
    组合数
    85. Maximal Rectangle 由1拼出的最大矩形
    750. Number Of Corner Rectangles四周是点的矩形个数
    801. Minimum Swaps To Make Sequences Increasing 为使两个数组严格递增,所需要的最小交换次数
  • 原文地址:https://www.cnblogs.com/oversea201405/p/3752053.html
Copyright © 2011-2022 走看看