実現したいこと
ドアのイラストがクリックされると小さくなって画面の端に移動するアニメーションを実装しようとしています。
発生している問題・分からないこと
別ファイルでDoorUiStateとして、
var openedDoor: Boolean = false
を設定しています。
以下の文でエラーになるとき、!openedDoorに代わる書き方はありますか?uiStateをbooleanにしない方法しかないでしょうか?
if (doorUiState.openedDoor isTransitioningTo doorUiState.!openedDoor)
該当のソースコード
@Composable fun doorClicked(doorUiState: DoorUiState) { val transitionSpec: AnimatedContentTransitionScope<DoorUiState>.() -> ContentTransform = { fadeIn(animationSpec = tween(150, delayMillis = 150)) .togetherWith(fadeOut(animationSpec = tween(150))) .using( SizeTransform { initialSize, targetSize -> // Using different SizeTransform for different state change if (doorUiState.openedDoor isTransitioningTo doorUiState.!openedDoor) { keyframes { durationMillis = 500 IntSize( initialSize.width, (initialSize.height + targetSize.height) / 2 ) at 150 } } else { keyframes { durationMillis = 500 IntSize(targetSize.width, initialSize.height + 200) at 150 } } } )
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
同じような状況は見つからず…
探し方が下手なせいかも。
補足
特になし
