LayoutAnimation
次のレイアウト時にビューを新しい位置に自動的にアニメーションします。
このAPIの一般的な使用方法としては、関数コンポーネントでステートフックを更新する前、またはクラスコンポーネントで`setState`を呼び出す前に呼び出すことです。
Androidで動作させるには、`UIManager`を介して以下のフラグを設定する必要があります。
if (Platform.OS === 'android') {
if (UIManager.setLayoutAnimationEnabledExperimental) {
UIManager.setLayoutAnimationEnabledExperimental(true);
}
}
例
リファレンス
メソッド
configureNext()
static configureNext(
config: LayoutAnimationConfig,
onAnimationDidEnd?: () => void,
onAnimationDidFail?: () => void,
);
次のレイアウトでアニメーションを実行するようにスケジュールします。
パラメータ
名前 | 型 | 必須 | 説明 |
---|---|---|---|
config | オブジェクト | はい | 下記のconfigの説明を参照してください。 |
onAnimationDidEnd | 関数 | いいえ | アニメーションが終了したときに呼び出されます。 |
onAnimationDidFail | 関数 | いいえ | アニメーションが失敗したときに呼び出されます。 |
config
パラメータは、以下のキーを持つオブジェクトです。create
はconfig
に対して有効なオブジェクトを返し、Presets
オブジェクトもすべてconfig
として渡すことができます。
- ミリ秒単位の
duration
create
、新しいビューのアニメーションのためのオプションのconfigupdate
、更新されたビューのアニメーションのためのオプションのconfigdelete
、ビューが削除されるときのアニメーションのためのオプションのconfig
create
、update
、またはdelete
に渡されるconfigには、以下のキーがあります。
type
、使用するアニメーションの種類property
、アニメーションするレイアウトプロパティ(オプションですが、create
とdelete
には推奨されます)springDamping
(数値、オプション、type: Type.spring
でのみ使用)initialVelocity
(数値、オプション)delay
(数値、オプション)duration
(数値、オプション)
create()
static create(duration, type, creationProp)
configureNext
に渡すオブジェクト(create
、update
、delete
フィールドを持つ)を作成するヘルパー。type
パラメータはアニメーションの種類であり、creationProp
パラメータはレイアウトプロパティです。
例
プロパティ
種類
create
メソッド、またはconfigureNext
のcreate
/update
/delete
configで使用されるアニメーションの種類の列挙。(使用例:LayoutAnimation.Types.easeIn
)
種類 |
---|
spring |
linear |
easeInEaseOut |
easeIn |
easeOut |
keyboard |
プロパティ
create
メソッド、またはconfigureNext
のcreate
/update
/delete
configで使用されるアニメーションするレイアウトプロパティの列挙。(使用例:LayoutAnimation.Properties.opacity
)
プロパティ |
---|
opacity |
scaleX |
scaleY |
scaleXY |
プリセット
configureNext
に渡す、定義済みのアニメーションconfigのセット。
プリセット | 値 |
---|---|
easeInEaseOut | create(300, 'easeInEaseOut', 'opacity') |
linear | create(500, 'linear', 'opacity') |
spring | {duration: 700, create: {type: 'linear', property: 'opacity'}, update: {type: 'spring', springDamping: 0.4}, delete: {type: 'linear', property: 'opacity'} } |
easeInEaseOut
Presets.easeInEaseOut
を使用してconfigureNext()
を呼び出します。
linear
Presets.linear
を使用してconfigureNext()
を呼び出します。
spring
Presets.spring
を使用してconfigureNext()
を呼び出します。
例