自定义标题栏仍然在启动时显示原始

时间:2012-02-03 21:21:50

标签: android android-layout titlebar

我在我的应用程序中使用了一个自定义标题栏并且一切正常,但是当应用程序启动时,原始(标准)android标题栏会在被我的自定义标题栏替换之前显示一段时间

当应用程序已经加载到内存中时,这不是问题,因为“延迟”不明显,但如果应用程序尚未在内存中,则非常明显。

代码没有什么特别之处:

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.window_title);

我考虑过将样式更改为没有窗口标题,只是在布局顶部包含我的自定义标题,但这似乎不正确。

感谢您的任何指示。

4 个答案:

答案 0 :(得分:1)

Thomas Devaux发布了一个智能解决方案。它在我的应用程序中运行

  

更改windowTitleBackgroundStyle以使用颜色“@android:color / transparent”。   同时为文本“android:windowTitleStyle”创建一个样式,并将其“android:textColor”>设置为透明。

答案 1 :(得分:1)

为了完整性地回答Lluis的回答,这里是在启动自定义标题之前隐藏默认标题所需的完整代码:

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">

    <style name="CustomWindowTitleStyle">
        <item name="android:textColor">@android:color/transparent</item>
    </style>

    <style name="CustomTheme" parent="@android:style/Theme.Holo">
        <item name="android:windowActionBar">false</item>
        <item name="android:windowTitleBackgroundStyle">@android:color/transparent</item>
        <item name="android:windowTitleSize">50dp</item>
        <item name="android:windowTitleStyle">@style/CustomWindowTitleStyle</item>
    </style>

</resources>

答案 2 :(得分:0)

在主要活动加载之前添加启动画面活动,应该有足够的时间让下一个活动正确加载

答案 3 :(得分:0)

您是否可以使用应用主题为您的应用全局设置自定义标题? See here这是一个很好的例子。我有一个类似的问题,我似乎记得去这条路线修好了。