AndroidManifest的android:label的小實驗

  • 40153
  • 0

要「application」標籤中的「android:label」屬性可用來指定應用程式將顯示在 Home 主畫面上的名稱。也就是預設剛開好機時,可以從桌面下方拉出的應用程式列表。

「activity」標籤中的「android:label」屬性可用來指定應用程式將顯示在 Activity 畫面上方的名稱。也可以在程式碼中透過「setTitle(“名稱”)」來動態修改。

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

    </application>

如上所示

可以在application標籤中看到android:label,同樣的屬性在activity中也可以看到

來看看這兩個同名的標籤屬性的相對關系。

程式範例取自http://code.google.com/p/androidbmi/wiki/IntroAndroid

在裡面是這麼說的。

「application」標籤中的「android:label」屬性可用來指定應用程式將顯示在 Home 主畫面上的名稱。也就是預設剛開好機時,可以從桌面下方拉出的應用程式列表。

「activity」標籤中的「android:label」屬性可用來指定應用程式將顯示在 Activity 畫面上方的名稱。也可以在程式碼中透過「setTitle(“名稱”)」來動態修改。

作個小實驗

第一步,修改如下

    <application android:icon="@drawable/icon" android:label="appName">
        <activity android:name=".BMIActivity"
                  android:label="activeName">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>

執行畫面

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

    </application>

可以看到這是對程式名稱標題與快捷介面的名稱修改

而且先設定的(application)會被之後(activity)設定的覆蓋掉

當然在程式中可以用「setTitle(“名稱”)」修改,這是在範例中有提到的。

最後來看看如果都沒有設定的話...

可見在都沒有設定的情況下,預設為Activity類別的完整名稱。