0

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

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>

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

有没有什么办法解决这一问题?我究竟做错了什么?

4

1 回答 1

1

试着放

super.onCreate(savedInstanceState);

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

并把

setContentView(R.layout.my_layout);

最后的。我似乎记得我的应用程序崩溃了,因为我的顺序错误。

于 2012-11-22T20:29:11.660 回答