AnimationDrawable を使用して、欠落しているネットワーク接続を表示しています。表示/非表示ロジックは、ネットワーク ステータス変更レシーバーにリンクされています。それは正常に動作します。しかし、ステータスを認識してアクティビティを開始し、アニメーションを開始しようとすると、アニメーション化されたドローアブルが表示され、最初のフレームでフリーズします。ドキュメントを読みました-「OnCreateでアニメーションを開始しないでください」。だから私は onResume でコードを書きましたが、アニメーションはまだ再生されていません - 最初のフレームしか表示されません。ボタンまたはイベントから開始すると正常に動作します。別のスレッドで開始してしばらく待機しようとしましたが、この doent は良さそうです。
何か案が?
このコードは、ネット ステータス変更ハンドラから呼び出されたときに機能します
private void _NetStatus(boolean start)
{
if (start)
{
m_NetStatus.setVisibility(View.VISIBLE);
m_NetStatusFrameAnimation.start();
}
else
{
m_NetStatusFrameAnimation.stop();
m_NetStatus.setVisibility(View.INVISIBLE);
}
}