Android的Activity跳轉(zhuǎn)動(dòng)畫各種效果整理
更新時(shí)間:2013年06月24日 17:41:49 作者:
Android的Activity跳轉(zhuǎn)就是很生硬的切換界面。其實(shí)Android的Activity跳轉(zhuǎn)可以設(shè)置各種動(dòng)畫,本文整理了一些,還有很多動(dòng)畫效果,就要靠我們發(fā)揮自己的想象力
大家使用Android的原生UI都知道,Android的Activity跳轉(zhuǎn)就是很生硬的切換界面。其實(shí)Android的Activity跳轉(zhuǎn)可以設(shè)置各種動(dòng)畫。下面給大家看看效果:

實(shí)現(xiàn)非常簡(jiǎn)單,用overridePendingtransition(int inId, int outId)即可實(shí)現(xiàn)。inId是下一界面進(jìn)入效果的xml文件的id,outId是當(dāng)前界面退出效果的xml文件id。
效果是用xml文件寫的,首先要在res文件夾下建立anim文件夾,然后把動(dòng)畫效果xml文件放到里面去。
下面是放大進(jìn)入,縮小退出的xml文件:
zoomin.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator">
<scale android:fromXScale="0.1" android:toXScale="1.0"
android:fromYScale="0.1" android:toYScale="1.0"
android:pivotX="50%p" android:pivotY="50%p"
android:duration="300" />
<!-- 這里為了看到動(dòng)畫演示效果,把動(dòng)畫持續(xù)時(shí)間設(shè)為3秒 -->
<alpha
android:fromAlpha="0.1"
android:toAlpha="1.0"
android:duration="300" />
</set>
zoomout.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator"
android:zAdjustment="top">
<scale android:fromXScale="1.0" android:toXScale=".5"
android:fromYScale="1.0" android:toYScale=".5"
android:pivotX="50%p" android:pivotY="50%p"
android:duration="300" />
<!-- 系統(tǒng)內(nèi)置的動(dòng)畫持續(xù)時(shí)間
android:duration="@android:integer/config_mediumAnimTime"
-->
<alpha android:fromAlpha="1.0" android:toAlpha="0"
android:duration="300"/>
</set>
MainActivity.java:
public class MainActivity extends Activity implements OnClickListener {
private Button btn1;
private Button btn2;
private Button btn3;
private Button btn4;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_1);
btn1 = (Button) findViewById(R.id.btn1);
btn2 = (Button) findViewById(R.id.btn2);
btn3 = (Button) findViewById(R.id.btn3);
btn4 = (Button) findViewById(R.id.btn4);
btn1.setOnClickListener(this);
btn2.setOnClickListener(this);
btn3.setOnClickListener(this);
btn4.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
int version = Integer.valueOf(android.os.Build.VERSION.SDK);
switch(v.getId()) {
case R.id.btn1:
//放大縮小跳轉(zhuǎn)
startActivity(new Intent(this, OtherActivity.class));
if(version > 5 ){
overridePendingTransition(R.anim.zoomin, R.anim.zoomout);
}
break;
case R.id.btn2:
//淡入淡出跳轉(zhuǎn)
startActivity(new Intent(this, OtherActivity.class));
if(version > 5 ){
overridePendingTransition(R.anim.alphain, R.anim.alphaout);
}
break;
case R.id.btn3:
//左向右跳轉(zhuǎn)
startActivity(new Intent(this, OtherActivity.class));
if(version > 5 ){
overridePendingTransition(R.anim.move_in_right, R.anim.move_out_right);
}
break;
case R.id.btn4:
//右向左跳轉(zhuǎn)
startActivity(new Intent(this, OtherActivity.class));
if(version > 5 ){
overridePendingTransition(R.anim.move_in_left, R.anim.move_out_left);
}
break;
}
finish();
}
}
還有很多動(dòng)畫效果,就要靠我們發(fā)揮自己的想象力,自己去設(shè)計(jì),呵呵~


實(shí)現(xiàn)非常簡(jiǎn)單,用overridePendingtransition(int inId, int outId)即可實(shí)現(xiàn)。inId是下一界面進(jìn)入效果的xml文件的id,outId是當(dāng)前界面退出效果的xml文件id。
效果是用xml文件寫的,首先要在res文件夾下建立anim文件夾,然后把動(dòng)畫效果xml文件放到里面去。
下面是放大進(jìn)入,縮小退出的xml文件:
zoomin.xml:
復(fù)制代碼 代碼如下:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator">
<scale android:fromXScale="0.1" android:toXScale="1.0"
android:fromYScale="0.1" android:toYScale="1.0"
android:pivotX="50%p" android:pivotY="50%p"
android:duration="300" />
<!-- 這里為了看到動(dòng)畫演示效果,把動(dòng)畫持續(xù)時(shí)間設(shè)為3秒 -->
<alpha
android:fromAlpha="0.1"
android:toAlpha="1.0"
android:duration="300" />
</set>
zoomout.xml
復(fù)制代碼 代碼如下:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator"
android:zAdjustment="top">
<scale android:fromXScale="1.0" android:toXScale=".5"
android:fromYScale="1.0" android:toYScale=".5"
android:pivotX="50%p" android:pivotY="50%p"
android:duration="300" />
<!-- 系統(tǒng)內(nèi)置的動(dòng)畫持續(xù)時(shí)間
android:duration="@android:integer/config_mediumAnimTime"
-->
<alpha android:fromAlpha="1.0" android:toAlpha="0"
android:duration="300"/>
</set>
MainActivity.java:
復(fù)制代碼 代碼如下:
public class MainActivity extends Activity implements OnClickListener {
private Button btn1;
private Button btn2;
private Button btn3;
private Button btn4;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_1);
btn1 = (Button) findViewById(R.id.btn1);
btn2 = (Button) findViewById(R.id.btn2);
btn3 = (Button) findViewById(R.id.btn3);
btn4 = (Button) findViewById(R.id.btn4);
btn1.setOnClickListener(this);
btn2.setOnClickListener(this);
btn3.setOnClickListener(this);
btn4.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
int version = Integer.valueOf(android.os.Build.VERSION.SDK);
switch(v.getId()) {
case R.id.btn1:
//放大縮小跳轉(zhuǎn)
startActivity(new Intent(this, OtherActivity.class));
if(version > 5 ){
overridePendingTransition(R.anim.zoomin, R.anim.zoomout);
}
break;
case R.id.btn2:
//淡入淡出跳轉(zhuǎn)
startActivity(new Intent(this, OtherActivity.class));
if(version > 5 ){
overridePendingTransition(R.anim.alphain, R.anim.alphaout);
}
break;
case R.id.btn3:
//左向右跳轉(zhuǎn)
startActivity(new Intent(this, OtherActivity.class));
if(version > 5 ){
overridePendingTransition(R.anim.move_in_right, R.anim.move_out_right);
}
break;
case R.id.btn4:
//右向左跳轉(zhuǎn)
startActivity(new Intent(this, OtherActivity.class));
if(version > 5 ){
overridePendingTransition(R.anim.move_in_left, R.anim.move_out_left);
}
break;
}
finish();
}
}
還有很多動(dòng)畫效果,就要靠我們發(fā)揮自己的想象力,自己去設(shè)計(jì),呵呵~
相關(guān)文章
Android利用SurfaceView實(shí)現(xiàn)下雨的天氣動(dòng)畫效果
這篇文章主要介紹了Android利用SurfaceView實(shí)現(xiàn)下雨天氣效果的相關(guān)資料,文中詳細(xì)介紹 SurfaceView 和 View 的區(qū)別,以及一些需要使用到 SurfaceView 的場(chǎng)景。需要的朋友可以參考借鑒,下面來一起看看吧。2017-03-03Android實(shí)現(xiàn)一個(gè)簡(jiǎn)單的單詞本
大家好,本篇文章主要講的是Android實(shí)現(xiàn)一個(gè)簡(jiǎn)單的單詞本,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下2022-01-01android Tween Animation屬性設(shè)置方法實(shí)例
在Android開發(fā)中,Animation是用來給控件制作效果的,本文介紹二種實(shí)現(xiàn)方法2013-11-11Android fragment實(shí)現(xiàn)多個(gè)頁面切換效果
這篇文章主要為大家詳細(xì)介紹了fragment實(shí)現(xiàn)多個(gè)頁面切換效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04自定義TextView跑馬燈效果可控制啟動(dòng)/停止/速度/焦點(diǎn)
Android自帶的跑馬燈效果不太好控制,不能控制速度,不能即時(shí)停止和啟動(dòng),而且還受焦點(diǎn)的影響蛋疼不已。由于項(xiàng)目需求需所以自己寫了一個(gè)自定義的TextView,感興趣的朋友可以了解下2013-01-01Qt5.12.6配置Android Arm開發(fā)環(huán)境(圖文)
本文主要介紹了Qt5.12.6配置Android Arm開發(fā)環(huán)境,文中通過圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06