日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

activity切换效果

發布時間:2025/7/14 编程问答 12 豆豆
生活随笔 收集整理的這篇文章主要介紹了 activity切换效果 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

http://blog.csdn.net/menxu_work/article/details/10258787

?

?

在Android開發過程中,經常會碰到Activity之間的切換效果的問題,下面介紹一下如何實現左右滑動的切換效果,首先了解一下Activity切換的實現,從Android2.0開始在Activity增加了一個方法:

?

public void?overridePendingTransition?(int enterAnim, int exitAnim)

其中:

enterAnim 定義Activity進入屏幕時的動畫

exitAnim 定義Activity退出屏幕時的動畫

overridePendingTransition?方法必須在startActivity()或者?finish()方法的后面。

Android已經內置了幾種動畫效果,可以見?android.R.anim 類。一般情況下我們需要自己定義屏幕切換的效果。首先我們先了解Activity的位置定義,如下圖:

從上圖可以看出,以手機屏幕下面邊未X軸,屏幕左邊為Y軸,當Activity在X軸值為-100%p時,剛好在屏幕的左邊(位置1),當X軸值為0%p時,剛好再屏幕內(位置2),當X=100%p時剛好在屏幕右邊(位置3)。

?

從一到二位置:

從二到一位置:

從三到二位置:

?

?

清楚了位置后,我們就可以實現左右滑動的切換效果,首先讓要退出的Activity從位置2移動到位置1,同時讓進入的Activity從位置3移動位置2,這樣就能實現從左右切換效果。

實現過程如下,首先定義2個動畫,在 res目錄創建anim目錄, 然后在目錄創建動畫的xml文件:out_to_left.xml (從左邊退出動畫) 、in_from_right.xml(從右邊進入動畫)

in_from_right.xml?(從 位置1 移動到 位置2)

?

?

[html]?view plaincopy
  • <?xml?version="1.0"?encoding="utf-8"?>??
  • <set?xmlns:android="http://schemas.android.com/apk/res/android">??
  • <translate??
  • android:fromXDelta="-100%"??
  • android:toXDelta="0%"??
  • android:duration="300"?/>??
  • </set>??


  • ?

    ?

    out_to_left.xml?(從 位置2 移動到 位置1)

    ?

    ?

    [html]?view plaincopy
  • <?xml?version="1.0"?encoding="utf-8"?>??
  • <set?xmlns:android="http://schemas.android.com/apk/res/android"?android:interpolator="<a?href="http://my.oschina.net/asia"?class="referer"?target="_blank">@android</a>?:anim/accelerate_interpolator">??
  • ????<translate?android:fromXDelta="0%p"?android:toXDelta="-100%p"??
  • ????????android:duration="500"?/>??
  • </set>??


  • in_from_right.xml?(從 位置3 移動到 位置2)

    ?

    ?

    [html]?view plaincopy
  • <?xml?version="1.0"?encoding="utf-8"?>??
  • <set?xmlns:android="http://schemas.android.com/apk/res/android"?android:interpolator="<a?href="http://my.oschina.net/asia"?class="referer"?target="_blank">@android</a>?:anim/accelerate_interpolator">??
  • ????<translate?android:fromXDelta="100%p"?android:toXDelta="0%p"??
  • ????????android:duration="500"?/>??
  • </set>??


  • 注:?android:fromXDelta 動畫開始的位置,??android:toXDelta?動畫結束的位置,android:duration動畫的時間。

    ?

    Android 代碼如下:

    ?

    [java]?view plaincopy
  • public?class?LeftRightSlideActivity?extends?Activity?{??
  • ????@Override??
  • ????public?void?onCreate(Bundle?savedInstanceState)?{??
  • ????????super.onCreate(savedInstanceState);??
  • ????????setContentView(R.layout.main);?????
  • ??????????
  • ????????Button?button?=?(Button)findViewById(R.id.button1);??
  • ????????button.setOnClickListener(new?View.OnClickListener()?{????
  • ????????????@Override??
  • ????????????public?void?onClick(View?v)?{??
  • ????????????????Intent?intent?=?new?Intent();??
  • ????????????????intent.setClass(LeftRightSlideActivity.this,?SlideSecondActivity.class);??
  • ????????????????startActivity(intent);??
  • ????????????????//設置切換動畫,從右邊進入,左邊退出??
  • ????????????????overridePendingTransition(R.anim.in_from_right,?R.anim.out_to_left);??????????????????
  • ????????????}??
  • ????????});??
  • ????}??
  • }??


  • ?

    效果圖如下:

    ?

    ? ? ?

    雖然左右滑動切換的實現很簡單,但是對于原理的理解很重要,掌握了原理可以充分發揮想象力設計出各種各樣的動畫效果,希望對一些入門的新手有幫助。

    ?

    ?


    ?

    back動畫

    上一個activity顯示動畫

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

      

    ?

    轉載于:https://www.cnblogs.com/guduey/p/4450670.html

    總結

    以上是生活随笔為你收集整理的activity切换效果的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。