2011-08-26 88 views
26

我的Android應用未顯示應用名稱「app_name」,而是顯示活動名稱「title」。這是來自我的清單文件;未顯示Android應用名稱

<application android:icon="@drawable/icon" android:label="@string/app_name"> 
    <activity android:name=".Main" 
       android:label="@string/title"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

爲什麼應用程序從主活動中獲取其名稱並忽略應用程序標籤?

這是一個完整的清單

<?xml version="1.0" encoding="utf-8"?> 
    <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.extempor.cheetah" 
    android:versionCode="1" 
    android:versionName="1.0"> 
    <application android:icon="@drawable/icon" android:label="@string/app_name"> 
    <activity android:name=".Main" 
       android:label="@string/title"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

    <activity android:name=".InfoHelp" 
       android:label="@string/titleInfo"> 
     <intent-filter> 
      <action android:name="android.intent.action.HELPINFO" /> 
      <category android:name="android.intent.category.DEFAULT" /> 

     </intent-filter> 
    </activity> 
    </application> 
    <uses-sdk android:minSdkVersion="10" /> 

<uses-permission android:name="android.permission.INTERNET" /> 

    </manifest> 
+0

添加您完整的代碼menifest文件 –

+0

的,我認爲你應該檢查[此帖](http://stackoverflow.com/questions/3488664/android-launcher-label-vs-activity-title)。這是解決方案的正確途徑。 –

回答

5

只能一次顯示一個標籤。應用程序標籤或活動標籤。

如果您設置標籤並運行活動,您將看到活動標籤。

要查看應用程序標籤,請勿在主要活動上設置android:label="@string/title"

+0

我假設應用程序標籤是與應用程序關聯的名稱,活動標籤是與活動鏈接的標籤,但是當我在應用程序菜單中查看應用程序時,它會顯示活動標籤。 – user913240

1

此時應更換

<activity android:name=".Main" 
      android:label="@string/title"> 

<activity android:name=".Main" 
      android:label="@string/app_name"> 
+1

我不希望活動具有與應用程序相同的名稱。我希望應用程序被稱爲「獵豹」,並且我希望主要活動上的標籤顯示「Word Puzzle Solutions」。應用程序名稱應與應用程序菜單中的應用程序圖標一起顯示。這不會發生,而是應用程序正在顯示活動名稱。 – user913240

0

在所有的活動,你應該的

android:label 

值更改爲

"@string/app_name" 

更新:

很好的答案是,與標籤@字符串/標題的第一個活動是其而來的啓動菜單上的主要活動。所以你必須將標籤設置爲該活動。其他解決方案是,您創建一個臨時活動並從那裏調用您的主活動,並將您的主活動設置爲標題標籤和您的臨時活動的App_name標籤,並使您的臨時活動成爲主啓動器。

希望這有助於

感謝

+0

爲什麼?如果您可以爲每個活動貼上標籤,併爲應用程序貼上標籤,爲什麼他們都應該是一樣的? – user913240

+0

由於頂部的狀態欄會在新活動出現時發生變化。所以在這種情況下,您必須編輯每個活動的標籤,並在該特定活動狀態欄上添加您想要放置的名稱。 – Shah

+0

它不是狀態欄是問題,它顯示正確的信息。它的應用程序菜單包含圖標和應用程序的名稱。但它不顯示清單中的應用程序標籤,而是顯示活動標籤。 – user913240

-1

您可以直接給你的應用程序名稱,它像機器人:拉布勒=「APP_NAME」或檢查你的String.xml在價值觀文件夾文件

3

即使我注意到相同,似乎是一個錯誤! 你應該報告給谷歌:)

+1

我剛剛在Android網站上發佈它作爲bug 19852。 – user913240

21

這個問題解釋了這樣做的原因對我說:

Naming my application in android

啓動器實際顯示的android:標籤和android:圖標的活動(IES),其申報:

<intent-filter> 
    <action android:name="android.intent.action.MAIN" /> 
    <category android:name="android.intent.category.LAUNCHER" /> 
</intent-filter> 

所以申請標籤是沒有用的。

4

只需將你的發射activitys標籤的應用程序名稱,然後在代碼中手動設置動作條標題爲活動

getSupportActionBar().setTitle(R.string.title_user_login); 

這是當然的,如果你使用的是行動起來吧。無論如何,正常的活動標題標題是醜陋的!

編輯:說你可以看到啓動文本更改!

1

使用

this.setTitle(""); 
在你的onCreate

()的活動的方法,並在@字符串/ APP_NAME使用您喜歡的應用程序名稱爲

<application> android:lable = "@string/app_name" </application> 
1

如果你或有人仍然面臨的問題那麼這就是爲我工作的解決方案。

保持應用程序標籤和主要活動標籤清單中相同main.java文件顯示如下

<application android:icon="@drawable/icon" android:label="@string/app_name"> 
<activity android:name=".Main" 
      android:label="@string/app_name"> 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
</activity> 

設置你的活動標籤,如下圖所示(我猜你是使用操作欄)

ActionBar actionBar = getSupportActionBar(); 
actionBar.setTitle(getResources().getString(R.string.title)); 

安裝此更改的應用程序之前,卸載以前的版本重新啓動您的手機,現在安裝更改的應用程序。

我希望這會有所幫助。

1

如果您使用的是Android Studio,那麼您應該擴展AppCompatActivity,然後只顯示該Activity。

示例代碼: 主要活動:公共類MainActivity擴展AppCompatActivity

Styles.XML

<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
</style> 

0

如果您使用的是Android工作室,也是您使用MapsActivity那麼你應該擴展ActionBarActivity,並將應用程序名稱放在String.xml中。這對我很有用。感謝

<resources> 
<string name="app_name">App Name</string> 
<string name="title_activity_maps">Map</string> 

5

我有同樣的問題,解決了我:

上MainActivity.java變化:

public class MainActivity extends Activity {...} 

public class MainActivity extends AppCompatActivity {...} 
2

你需要

public class MainActivity extends AppCompatActivity {.....} 

如果您無法擴展AppCompatActivity,那麼您可以添加下面代碼的最後一行來在條上顯示標題。

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    toolbar.setTitle("the name i want to appear");