簡體   English   中英

Android - 如何在activity的onCreate()中調用setTitle()時避免延遲

[英]Android - How to avoid delay when calling setTitle() in activity's onCreate()

我的SplashActivity的標題很長,因此在設備主屏幕上的啟動圖標下面會被截斷。

我想在啟動圖標下方顯示一個較短的標題,但在活動的操作欄中顯示更長的標題。

所以,為了嘗試實現這一點,我在清單中指定了一個較短的標題......

<activity
        android:name=".SplashActivity"
        android:label="@string/app_name_short"
        android:launchMode="singleTop" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

......而我正在使用......

setTitle(getString(R.string.app_name));

...在SplashActivityonCreate()方法中,以便在操作欄中顯示完整標題。

它起作用,但僅在大約1秒延遲之后。 (因此,當顯示SplashActivity時,它會在更改為更長的標題之前顯示1秒的短標題。)

有什么方法可以解決這個或任何已知的解決方法嗎?

我也嘗試創建一個PreSplashActivity (標題較短)作為啟動活動,包括立即啟動SplashActivity (具有長標題)的代碼,但PreSplashActivity仍然顯示1秒鍾(即使它不調用setContentView() ,所以我有點難過。

有任何想法嗎?

在這篇帖子中,Mark Renouf回答說明了intent-filters可以有一個標簽屬性如果沒有,那么標簽是從父組件繼承的

您是否查看了API21的新文檔,特別是工具欄? http://developer.android.com/reference/android/widget/Toolbar.html

使用新工具欄,您可以像任何其他視圖一樣將其包含在布局文件中。 一個很好的副作用是初始屏幕是空白的,操作欄與其他內容同步顯示。 這使您可以選擇設置標題並在可見之前進行必要的自定義。

以下是有關使用AppCompat支持舊版本的詳細信息,其中包含有關在布局中使用工具欄並將其設置為操作欄的部分: http//android-developers.blogspot.ie/2014/10/appcompat-v21-material-設計換pre.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM