自定义标题栏延迟

时间:2012-11-22 20:22:09

标签: android styles delay titlebar

我的应用使用自定义标题栏作为布局创建,并使用以下格式实现:

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.Lightandroid: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>

但是,每次启动应用程序时,使用自定义标题栏开始和显示实际布局之间会有一个小的延迟,在此延迟中,默认标题栏会显示appname。大约一秒钟后,当Oncreate完成时,加载并显示自定义标题。

有什么方法可以解决这个问题吗?我究竟做错了什么?

1 个答案:

答案 0 :(得分:1)

尝试放

super.onCreate(savedInstanceState);

在其他行之前,看看是否有效。

并且放

setContentView(R.layout.my_layout);

持续。我似乎记得我的应用程序崩溃,因为我的顺序错误。