2011-07-04 85 views
2

我添加了一個自定義的標題欄到android應用程序,這個標題欄(這是一個普通的png)出現在主要活動內部。問題是,主要活動使用label標籤這樣也定義了應用程序的名稱:Android - 如何分離應用程序的名稱與標題欄?

<activity android:name=".MainActivity" 
        android:theme="@style/customTheme" 
        android:screenOrientation="portrait" 
        android:label="@string/app_name"> 
       <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
       </intent-filter> 
</activity> 

而且這個標籤也被報道在標題欄!如何分離這兩個? (基本上,仍然可以給應用程序一個名稱,而不會影響我的自定義標題欄)。

謝謝!

+0

你的答案被已經發布[這裏] [1] [1]:http://stackoverflow.com/questions/3488664/android-launcher-label-vs-activity-標題 – jmhostalet

回答

4

你可以改變頭通過在頁面的Java代碼中使用setTitle("THE TITLE");來執行任何活動。如果您想使用XML FILES中定義的字符串,則可以使用setTitle(R.string.stringName)

+0

這可以工作,但是當應用程序啓動時,文本在消失之前會保留片刻。我讀過的地方,這是一些優化,Android的做,但我無法找到鏈接了,不知道如何解決這個問題。任何想法? –

+1

您可以通過在AndroidManifest xml文件中將''更改爲''來單獨設置啓動器圖標的文本。 – jpevarnek

+0

(我只是重新閱讀這個問題,我認爲你要找的是下面發佈的答案,但我不確定)。 – jpevarnek

0

試着改變你的mainactivity的標籤,像這樣android:label="@string/main_header"並定義在strings.xml中字符串頭...

希望這個很好的幫助你...

1

我的意見是在屏幕的頂部創建自己的自定義標題欄,並在活動清單中設置無標題欄選項。

android:theme="@android:style/Theme.NoTitleBar" 
+0

我需要一個標題欄,實際上我已經擁有自己的自定義標題欄。 –

+0

我想我誤解了你想要的。你需要在你的custum標題欄上面的標題欄,這是真的嗎? – kameny

+0

您是否嘗試覆蓋Activity類中的onTitleChanged(CharSequence標題,int顏色)? – kameny

相關問題