私のアプリは、レイアウトとして作成されたカスタム タイトルバーを使用し、次の形式を使用して実装されています。
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.my_layout);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.my_custom_title);
super.onCreate(savedInstanceState);
現在、通常のテーマを使用しても機能しませんでしandroid:Theme.Light
た。どちらも呼び出されたandroid:Theme.Light.NoTitleBar
ときに致命的な例外が発生しました。setContentView
そこで、次のようなカスタム スタイルを作成しました。
<style name="MyWindowTitleBackground">
<item name="android:background">#000000</item>
</style>
<style name="CustomTheme" parent="android:Theme.Light">
<item name="android:windowTitleBackgroundStyle">@style/MyWindowTitleBackground</item>
<item name="android:windowActionBar">false</item>
<item name ="android:windowTitleSize">35dip</item>
</style>
ただし、アプリが開始されるたびに、開始からカスタム タイトルバーを使用した実際のレイアウトの表示までの間にわずかな遅延が発生します。この遅延では、デフォルトのタイトルバーがアプリ名とともに表示されます。約 1 秒後、Oncreate が終了すると、カスタム タイトルが読み込まれて表示されます。
これを修正する方法はありますか?私は何を間違っていますか?