Android動(dòng)畫(huà)

我們使用Scene來(lái)展示動(dòng)畫(huà)。
首先我們獲取場(chǎng)景,代碼如下:

Scene scene1 = Scene.getSceneForLayout(frameLayout, R.layout.animations_scenes1, this);

frameLayout為盛放控件的總?cè)萜鳌?br> animations_scenes1為盛放控件。
this為上下文。

我們寫(xiě)四個(gè)scene布局:
animations_scenes1代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="20dp">

    <ImageView
        android:id="@+id/iv_green"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:background="@color/theme_green_primary"/>

    <ImageView
        android:id="@+id/iv_red"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_alignParentRight="true"
        android:background="@color/theme_red_primary"/>

    <ImageView
        android:id="@+id/iv_blue"
        android:layout_marginTop="20dp"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_below="@id/iv_red"
        android:background="@color/theme_blue_primary"/>

    <ImageView
        android:id="@+id/iv_yellow"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_below="@id/iv_green"
        android:layout_alignParentRight="true"
        android:layout_marginTop="20dp"
        android:background="@color/theme_yellow_primary"/>
</RelativeLayout>

animations_scenes2 -- 4 置換ImageView的位置。要注意的是四個(gè)布局的id要一直,這樣動(dòng)畫(huà)就可以在同id的控件間傳動(dòng)。

下面是動(dòng)畫(huà)轉(zhuǎn)換的資源文件slide_and_changebounds_sequential_with_interpolators.xml:

<?xml version="1.0" encoding="utf-8"?>
<transitionSet xmlns:android="http://schemas.android.com/apk/res/android"
               android:duration="500"
               android:transitionOrdering="sequential">
    <slide android:interpolator="@android:interpolator/decelerate_cubic"/>
    <changeBounds android:interpolator="@android:interpolator/bounce"/>
</transitionSet>

最后調(diào)用方法轉(zhuǎn)換:

TransitionManager.go(scene1, TransitionInflater.from(AnimationsActivity2.this).inflateTransition(R.transition.slide_and_changebounds_sequential));
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前不久,我寫(xiě)了篇關(guān)于Activity之間的過(guò)渡跳轉(zhuǎn)的文章(有興趣的請(qǐng)戳 Android動(dòng)畫(huà) —— Activity...
    王可大蝦閱讀 1,129評(píng)論 0 6
  • Animation Animation類(lèi)是所有動(dòng)畫(huà)(scale、alpha、translate、rotate)的基...
    四月一號(hào)閱讀 2,036評(píng)論 0 10
  • 【Android 動(dòng)畫(huà)】 動(dòng)畫(huà)分類(lèi)補(bǔ)間動(dòng)畫(huà)(Tween動(dòng)畫(huà))幀動(dòng)畫(huà)(Frame 動(dòng)畫(huà))屬性動(dòng)畫(huà)(Property ...
    Rtia閱讀 6,446評(píng)論 1 38
  • 動(dòng)畫(huà)基礎(chǔ)概念 動(dòng)畫(huà)分類(lèi) Android 中動(dòng)畫(huà)分為兩種,一種是 Tween 動(dòng)畫(huà)、還有一種是 Frame 動(dòng)畫(huà)。 ...
    Rtia閱讀 1,375評(píng)論 0 6
  • 北京時(shí)間8月16日,據(jù)外媒記者報(bào)道,杜蘭特在接受記者采訪(fǎng)時(shí),當(dāng)提及小喬丹時(shí),杜蘭特說(shuō)道:“我和他是很好的兄弟,我結(jié)...
    火焱籃球閱讀 249評(píng)論 0 0

友情鏈接更多精彩內(nèi)容