Androidのアプリを作成している際に、Jetpack Composeを使用しています。
CircularProgressIndicatorという、ローディング時に使用するような、クルクル回るアニメーションのレイアウトがあります。
これを使用した際に、問題が発生したので、内容や解決方法を書いておきます。
現状・・・
以前は正常に動いていたのに、ある時からクラッシュして落ちるようになりました。
結果から言うと、原因は分かりませんでした。
解決(クラッシュしなくなった)はしました。
CircularProgressIndicatorの、引数の「progress」を渡すタイプと、渡さないタイプの同名の関数が存在します。
今回自分が落ちるようになったのは、CircularProgressIndicatorの引数の「progress 」無しのタイプの方でアプリが落ちました。
プロパティで「progress 」に値を渡すタイプでは落ちない・・・
というような状態でした。
使用したバージョンは「androidx.compose.material3:material3:1.1.2」でした。
CircularProgressIndicatorとは
ローディング時に使用するような、クルクル回るアニメーションのレイアウトや、進捗を表す横棒の比率を表現するようなレイアウトを簡単に表現出来るものです。
CircularProgressIndicatorやLinearProgressIndicatorがあり、それぞれ「progress 」という引数を渡すタイプと渡さないタイプの関数があります。
この値の有りと無しで何が違うかというと、プログレスバーの進捗状態を指定してアニメーションをさせるか、表示している間は進捗に関係なく、動き続ける(周り続ける)か・・・
の違いです。
解決した方法
今回使用したかったのが、CircularProgressIndicatorのタイプだったので、この関数の中身をコピーして、新たに自作の関数を作成しました。
そうすると・・・何故かクラッシュしなくなりました!
厳密には、IDEの警告が出ている部分を直したり、多少変わった部分はありますが、概ねコピペした感じの関数の中身でした。
ほとんど内容を変えてないのに、何故かクラッシュしなくなり、問題が解決しました。
もっと具体的に、クラッシュする箇所を探したほうがいいのでしょうけど・・・
動いてるので、いっか!!w
と思っております。:D
コメント