停止应用程序名称在标题栏中闪烁

Dom*_*nic 9 android

我为我的应用程序制作了自定义标题栏.但是,当应用程序首次加载时,应用程序名称会在文本显示之前显示在标题栏中一会儿.我如何阻止这种情况发生?

我在我的主要活动中设置了自定义标题栏:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
    setContentView(R.layout.main);
    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.mytitle);
Run Code Online (Sandbox Code Playgroud)

mytitle.xml是我设置文本的地方:

<?xml version="1.0" encoding="utf-8"?>
 <TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/myTitle"
    android:text="my text"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center"
    android:textAppearance="?android:attr/textAppearance"
    />
Run Code Online (Sandbox Code Playgroud)

我的标题栏背景不闪烁,只是文字.

谢谢.

hac*_*bod 11

基本说明:在启动应用程序时,为了尽快响应用户,Android首先会显示应用程序的"预览"窗口,然后才开始启动其进程.它通过获取应用程序中可用的信息AndroidManifest.xml并创建一个看起来像它的空活动的窗口来实现这一点.因此,您应该将清单中的主题设置为尽可能匹配实际UI的内容.

对于自定义标题的情况,您无能为力,因为标题的外观取决于您的代码实际执行的操作,并且您的代码尚未运行.您可能做的最好的事情是使用android:theme="@android:style/Theme.NoTitleBar"预览窗口根本不会尝试显示任何标题栏...当然,在您的活动中,您需要通过调用setTheme(android.R.style.Theme)返回默认主题来清除它.

详细说明AndroidManifest.xml需要放置的位置:

<application 
    android:label="@string/app_name"
    android:theme="@android:style/Theme.NoTitleBar" >
Run Code Online (Sandbox Code Playgroud)