スプラッシュ
5〜10秒かかるメインアクティビティUIの起動操作があります(メインUIスレッドで処理する必要があります)。そのため、デフォルトの黒または応答しないメインUIではなく、スプラッシュ画面を使用したいと思います。
スプラッシュ画面の適切な解決策を以下に示します
- これは最初に設定することです
setContentView(R.layout.splash)
、 - 次に、必要なメインUI処理を実行します(UIスレッド上で、メインビューが表示されない状態で)
- そしてそれが準備ができたらショー
setContentView(R.layout.main)
フラグメントとのスプラッシュ
また、フラグメントを使用しています。これは通常、setContentView(R.layout.main)
フラグメントのインスタンス化の前に呼び出す必要があります。これにより、フラグメントマネージャーは、ビュースタブを見つけてR.layout.main
フラグメントを膨らませることができます(厳密に言えば、ビュースタブは別のものです)。
- ただし、フラグメントを作成する前に呼び出すことはできません
setContentView(R.layout.main)
。これは、スプラッシュ画面が(まだ準備ができていない)メイン画面に置き換わるためです。 - 私の恐れは、私がやりたいことができないということですか?
- 残念ながら、のような過負荷はありません
fragmentTransaction.add(viewNotViewId, fragment);
ほぼ回答
キーを除くすべてがここにあります。これはsetContentView
、フラグメントトランザクションの前に呼び出さ
れます。プログラムで作成されたコンテンツビューを使用して、アクティビティにフラグメントを追加するにはどうすればよいですか。