我为我的应用程序制作了自定义标题栏.但是,当应用程序首次加载时,应用程序名称会在文本显示之前显示在标题栏中一会儿.我如何阻止这种情况发生?
我在我的主要活动中设置了自定义标题栏:
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)
归档时间: |
|
查看次数: |
1550 次 |
最近记录: |