Android: программно изменить метку приложения
Как я могу изменить метку приложения, чтобы изменить название приложения, отображаемое в коде Java в Android? Я имею в виду:
<application android:icon="@drawable/icon" android:label="@string/app_name">
в манифесте Android
Есть ли какой-либо способ обновить значения в strings.xml файле?
Переведено автоматически
Ответ 1
в этом упражнении я попробовал
this.setTitle("your text");
и это сработало. Я надеюсь, что это распространенное решение
Ответ 2
На данный момент это невозможно. Это фиксированная строка в файле AndroidManifest.xml, которую нельзя изменить во время выполнения.
Ответ 3
С помощью <activity-alias> вы можете изменить значок и название приложения на несколько предопределенных вами.
<activity-alias>
Создайте такую конфигурацию в Mannifest.xml
Mannifest.xml
<activity android:name="package.name.MainActivity" android:screenOrientation="portrait" android:label="@string/app_name" android:theme="@style/CustomTheme" android:launchMode="singleTask"> <intent-filter> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter></activity><activity-alias android:label="@string/app_name_default" android:icon="@drawable/icon_default" android:name=".MainActivity-Default" android:enabled="true" android:targetActivity=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity-alias><activity-alias android:label="@string/app_name_flavor_one" android:icon="@drawable/icon_flavor_one" android:name=".MainActivity-Flavor-One" android:enabled="false" android:targetActivity=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity-alias>
Теперь вы можете переключаться между этими двумя псевдонимами, поэтому мы изменим значок приложения или / и название.Чтобы переключиться с Default на Flavor-One, используйте этот код.
getPackageManager().setComponentEnabledSetting( new ComponentName("package.name", "package.name.MainActivity-Flavor-One"), PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP); getPackageManager().setComponentEnabledSetting( new ComponentName("package.name", "package.name.MainActivity-Default"), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
Имейте в виду, что вы должны отслеживать, что одновременно будет включен только один псевдоним
Ответ 4
В активности запуска, прежде чем setContentView() написать это,
setContentView()
setTitle("Your Title");
Я не знаю, как это возможно, но это, безусловно, работает.