Introduction
In Android development, customizing your app’s name is a common task. The name displayed on the home screen (launcher) and within various parts of the system might differ, allowing flexibility in branding. This tutorial will guide you through changing an app’s launcher label, application-wide label, and activity-specific labels without creating a new project.
Understanding Android Labels
-
Application Label: Found under
Settings -> Applications -> Manage Applications
. It’s defined at the application level in theAndroidManifest.xml
. -
Activity Label: This is what appears on shortcuts or directly from launchers like Google Now. Each activity can have its own label, specified in the
AndroidManifest.xml
. -
Launcher Icon Label: The text displayed under the app icon on the home screen.
Changing Labels
-
Change Launcher App Name (Application-wide)
- Open your project in Android Studio.
- Navigate to the
res
folder and openvalues/strings.xml
. - Locate the
<string name="app_name">CurrentAppName</string>
entry. - Replace
CurrentAppName
with your desired app name.
<string name="app_name">NewAppTitle</string>
-
Change Launcher Icon Label (Activity-specific)
This is set for the main launcher activity in the
AndroidManifest.xml
.- Open
AndroidManifest.xml
. - Find the
<activity>
tag with an<intent-filter>
containingMAIN
andLAUNCHER
categories. - Modify the
android:label
attribute within this activity to change the icon label.
<application android:label="@string/app_name"> <activity android:name=".MainActivity" android:label="NewIconLabel"> <!-- This changes the home screen label --> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>
- Open
-
Change Activity Title (Dynamic Title Changes)
For dynamic title changes, especially useful in Lollipop and above where
android:label
might not affect action bars:- Within your activity class, set the title dynamically in
onCreate()
or as needed.
if (getSupportActionBar() != null) { getSupportActionBar().setTitle(R.string.custom_title); }
- Within your activity class, set the title dynamically in
-
Considerations for Splash Screens
If you have a splash screen that defines its label:
- Open
res/values/strings.xml
. - Find the label used by your splash activity and change it.
<string name="title_activity_splash_screen">NewSplashTitle</string>
- Open
-
Version Differences
Note that starting with Android Lollipop, some attributes like the
android:label
in<intent-filter>
may not affect the displayed title in certain contexts (like the action bar).
Conclusion
By following these steps, you can effectively change your app’s name and other labels across different parts of an Android device. This process enhances user experience by allowing flexible naming for branding purposes without needing to start a new project. Always remember to check how changes might affect older versions if backward compatibility is important.