亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Activity跳轉動畫

2019-11-08 00:16:14
字體:
來源:轉載
供稿:網友

Activity的跳轉動畫在5.0的時候做了一個重大的突破,下面來看一下吧 

1.5.0之前的overridePendingTransition

相信大家對OverridePendingTransition還是很熟悉的,使用方法也是很簡單就是//fade_in是第二個界面的進入動畫,fade_out是第一個界面退出動畫,不想動畫傳入0 overridePendingTransition(R.anim.fade_in,R.anim.fade_out);fade_in :
<?xml version="1.0" encoding="utf-8"?><translate xmlns:android="http://schemas.android.com/apk/res/android"       android:duration="4000"       android:fromYDelta="100%"       android:toYDelta="0"/>fade_out:
<?xml version="1.0" encoding="utf-8"?><translate xmlns:android="http://schemas.android.com/apk/res/android"    android:toXDelta="0"    android:fromXDelta="-100%"    android:duration="4000"    />對應動畫效果用的時候又一個缺點就是必須用在finish() 或者startActivity() 方法之后, 而此之外相對與5.0的動畫,他的動畫效果只在activity的界面有效果,對于其中的控件,是沒有相應的效果的,

2.5.0的效果

    相對與之前的效果,5.0做了一個很大的改變,首先我們不用寫xml文件了,系統直接封裝好了,我們只要調用就好了,當然,由于動畫沒有對5.0之前做兼容,所以我們在5.0之前的手機還是要做下兼容,當然這是后話了。首先我們來看下5.0的效果

    準備工作: (針對1,2,3的操作)

        1.告訴window界面需要切換動畫 有兩種方式              a. 直接在styles.xml(21)添加<item name="android:windowContentTransitions">true</item>             b.在 setContentView()之前加上  getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);        2.在startActivity()界面跳轉使用            startActivity(intent,ActivityOptions.makeSceneTransitionAnimation(this).toBundle());            到此接下來的所有操作在跳轉進入的界面做操作就好了

   一.Explode 分解(有的人叫爆炸)動畫  

                也是有2種方式實現        1.代碼              
          //此activity進入          getWindow().setEnterTransition(new Explode().setDuration(2000));          //此activity退出          getWindow().setExitTransition(new Explode().setDuration(2000));          //再次進入時使用(如果當前Activity已經打開過,并且再次打開該Activity時的動畫 )          //getWindow().setReenterTransition(new Explode().setDuration(2000));          //決定在兩個Activity之間切換時,指定兩個Activity中對應的View的過渡效果          // getWindow().setSharedElementEnterTransition(new Explode().setDuration(2000));          2.explode寫入res/transition文件夾下的xml中
<explode xmlns:android="http://schemas.android.com/apk/res/android"   android:duration="2000" />                a.  然后通過                    
Transition explode = TransitionInflater.from(this).inflateTransition(R.transition.explode);getWindow().setEnterTransition(explode);getWindow().setExitTransition(explode);                b.也可以在主題中配置                     
<item name="android:windowExitTransition">@transition/explode</item> <item name="android:windowEnterAnimation">@transition/explode</item> <item name="android:windowReenterTransition">@transition/explode</item>

      二  Fade  淡入淡出 

               

getWindow().setEnterTransition(new Fade().setDuration(2000));getWindow().setExitTransition(new Fade().setDuration(2000)); 

      三 Slide 滑動進入       

   

 //左側滑入 getWindow().setEnterTransition(new Slide(Gravity.LEFT).setDuration(2000)); getWindow().setExitTransition(new Slide(Gravity.RIGHT).setDuration(2000));              b .xml中的話                
<?xml version="1.0" encoding="utf-8"?><!--slideEdge表示起始滑動的側邊位置,end表示右側,start表示左側,top表示頂部,bottom表示底側--><slide xmlns:android="http://schemas.android.com/apk/res/android"       android:duration="2000"       android:slideEdge="end">    <!--去掉頂部狀態欄,底部操作欄的滑動-->    <targets>        <target android:excludeId="@android:id/navigationBarBackground" />        <target android:excludeId="@android:id/statusBarBackground" />    </targets>    </slide>                

        5.0的共享元素動畫

            1.系統自帶的            a.一個共享View           首先用到的activity的跳轉方法是(一個共享view的):              
startActivity(intent,ActivityOptions.makeSceneTransitionAnimation(this,button,"all_hava").toBundle());            說下參數 button表示這個共享的view,后面的字符串 “all_hava”是兩個共享view在xml中的  android:transitionName="all_hava"                用到的就是這些,是不是很簡單                b.多個 共享view                     這里我們稍稍看下源碼makeSceneTransitionAnimation(Activity activity, Pair<View, String>... sharedElements),知道可以利用Pair來傳參數  ,格式如下,不多說了                startActivity(intent,ActivityOptions.makeSceneTransitionAnimation(this,                                                create(((View) button),"all_hava"),                                                 create(((View) textView),"all_hava"))                                               .toBundle())            系統自帶的差不多已經夠用了,如果我們要玩點自定義的呢             剩下的在來說下兼容問題,因為只有5.0以上才有上面的這些個動畫,所以,我們肯定是要做兼容的 首先肯定是要加判斷的   if(Build.VERSION.SDK_INT>= Build.VERSION_CODES.LOLLipOP){
    startActivity(intent,ActivityOptions.makeSceneTransitionAnimation(this,button,"all_hava").toBundle());   }else{   a. //低版本兼容,不過沒動畫效果 http://www.cnblogs.com/tianzhijiexian/p/4087917.html 可以看下這個介紹    ActivityOptionsCompat optionsCompat = ActivityOptionsCompat.makeScaleUpAnimation(            button,            0,            0,            0,            0);    ActivityCompat.startActivity(this,intent,optionsCompat.toBundle());       b. //或者是直接用overridePendingTransition();}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产午夜精品理论片a级探花| 亚洲精品suv精品一区二区| 91中文精品字幕在线视频| 91最新在线免费观看| 成人女保姆的销魂服务| 国产欧美精品xxxx另类| 91影院在线免费观看视频| 欧美午夜xxx| 91av在线免费观看| 久久久久久尹人网香蕉| 色偷偷偷综合中文字幕;dd| 国产精品高清在线| 一区二区三区国产在线观看| 欧美性xxxx18| 久久影视电视剧免费网站清宫辞电视| 欧美成人精品三级在线观看| 九九精品在线观看| 亚洲电影免费在线观看| 国产精品亚洲片夜色在线| 57pao国产成人免费| 亚洲男人av在线| 国产成人高清激情视频在线观看| 欧美大片免费观看在线观看网站推荐| 精品国偷自产在线视频99| 久久亚洲精品一区二区| 亚洲男人的天堂在线播放| 国外成人在线直播| 亚洲激情视频在线观看| 日韩中文字幕在线观看| 亚洲电影在线看| 美女福利精品视频| 亚洲伊人第一页| 日本一区二区在线免费播放| 国产精品久久久久999| 欧美亚洲第一页| 亚洲黄页网在线观看| 社区色欧美激情 | 亚洲国产欧美一区二区三区久久| 国产精品户外野外| 一本一道久久a久久精品逆3p| 欧美日韩在线免费| 久久久久久91香蕉国产| 伊是香蕉大人久久| 久久99视频精品| 少妇高潮 亚洲精品| 国产精品亚洲欧美导航| 欧美片一区二区三区| 亚洲欧美日韩爽爽影院| 中文字幕国产精品| 国产精品久久久久久久一区探花| 91久久在线视频| 久久久久日韩精品久久久男男| 欧美激情亚洲激情| 最新69国产成人精品视频免费| 一区二区三区四区在线观看视频| 国产精品久久色| 伊人久久久久久久久久久久久| 免费91在线视频| 亚洲欧美成人一区二区在线电影| 亚洲精品自拍视频| 在线观看成人黄色| 国产亚洲精品久久久久久牛牛| 久久精品久久久久| 日韩一区二区三区xxxx| 7m第一福利500精品视频| 92看片淫黄大片欧美看国产片| 亚洲国产精品专区久久| 精品日韩美女的视频高清| 91在线视频精品| 亚洲精品www| 最近2019年好看中文字幕视频| 久久综合免费视频影院| 日韩成人在线电影网| 久久精品一偷一偷国产| 亚洲永久免费观看| 亚洲精品久久久久久久久久久久| 欧美激情视频在线| 中文字幕自拍vr一区二区三区| 一本一道久久a久久精品逆3p| 日韩免费精品视频| 最近中文字幕mv在线一区二区三区四区| 日韩色av导航| 久久久亚洲影院你懂的| 亚洲第一天堂无码专区| 国产欧美一区二区三区在线| 亚洲精选中文字幕| 成人黄色影片在线| 国产丝袜一区视频在线观看| 成人性生交大片免费看小说| 91沈先生作品| 国产日韩精品在线| 久久精品成人动漫| 免费不卡欧美自拍视频| 成人午夜在线观看| 亚洲欧美日韩另类| 亚洲综合中文字幕68页| 国产精品久久久久99| 57pao成人永久免费视频| 久久视频这里只有精品| 亚洲第一男人av| 精品国产乱码久久久久久虫虫漫画| 国产欧美最新羞羞视频在线观看| 在线观看欧美日韩| 黄色91在线观看| 91色精品视频在线| 2023亚洲男人天堂| 亚洲成人精品视频| 亚洲电影免费在线观看| 亚洲成人黄色在线观看| 欧美孕妇孕交黑巨大网站| 午夜精品美女自拍福到在线| 中文字幕日本欧美| 亚洲精品国产综合久久| 欧美在线视频一二三| 7777免费精品视频| 97精品一区二区视频在线观看| 国产精品视频久| 欧美乱大交xxxxx另类电影| 国产精品视频大全| 欧美激情亚洲一区| 日本精品视频在线播放| 精品调教chinesegay| 国产精品久久久久久久久久99| 伊人久久久久久久久久久久久| 欧美日韩美女在线观看| 国产精品久久久久久久7电影| 亚洲欧美在线磁力| 国产精品视频xxx| 懂色av一区二区三区| 欧美成人自拍视频| 亚洲91精品在线观看| 亚洲福利影片在线| 97国产suv精品一区二区62| …久久精品99久久香蕉国产| 992tv成人免费视频| 欧美一级淫片aaaaaaa视频| 久久av在线播放| 一个人看的www欧美| 欧美激情一区二区三区高清视频| 精品美女久久久久久免费| 欧美一区二区三区免费视| 国产精品丝袜高跟| 亚洲精品在线看| 亚洲xxx自由成熟| 亚洲国产精品久久精品怡红院| 黑人精品xxx一区一二区| 国内偷自视频区视频综合| 亚洲无亚洲人成网站77777| 国产视频丨精品|在线观看| 日韩精品在线视频美女| 国产精品高潮呻吟久久av无限| 亚洲国内高清视频| 欧美成人精品xxx| 欧美中文字幕视频在线观看| 亚洲国产精品成人va在线观看| 国产97在线视频| 欧美亚洲在线观看| 日韩日本欧美亚洲| 欧美最顶级丰满的aⅴ艳星| 亚洲欧美日韩精品久久奇米色影视| 日本精品视频在线| 欧美成人久久久| 久久久亚洲影院你懂的| 色悠悠国产精品|