Мога ли да задам името на приложението на нещо различно от етикета на дейността с филтъра за намерения?

Имам приложение с четири дейности. Зададох филтъра за намерения на един от тях, така че той ще се показва първо на потребителя, когато стартира приложението. Има етикет с надпис „Добавяне на разход“.

Сега името под иконата на приложението в телефона гласи „Добавяне на разход“.

Бих искал дейностите да имат различни етикети, защото те се показват в менюто в горната част на всяка дейност и помагат на потребителя да разбере за какво става въпрос. Но искам името на приложението да е нещо различно от етикета на дейността с филтъра за намерения.

Това възможно ли е?

Част от моя манифест:

Както можете да видите, опитах да задам android:label="@string/app_name" на ниво приложение, но това не работи. Етикетът на дейността така или иначе се показва под иконата.

<application
    android:icon="@drawable/ic_money_bag"
    android:label="@string/app_name" 
    android:theme="@android:style/Theme.Holo.Light" >
    <activity
        android:name=".AddExpenseActivity"
        android:label="@string/add_expense_header" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".ListExpensesActivity"
        android:label="@string/list_expenses_header" >
        </activity>
    <activity
        android:name=".AddExpenseAccountActivity"
        android:label="@string/add_expense_account_header" />
    <activity
        android:name=".ListExpenseAccountsActivity"
        android:label="@string/list_expense_accounts_header" />
</application>

Поздрави, Матиас


person Mattias    schedule 12.06.2012    source източник


Отговори (2)


Можете да използвате setTitle(String s) във всяка дейност, за да промените динамично името, което се появява в заглавната лента. Така че за вас може да е достатъчно да го настроите в onCreate на каквото искате.

setTitle("Hello StackOverflow");
person Donal Rafferty    schedule 12.06.2012
comment
Поставих заглавието на Launcher в дейността с филтъра за намерения и зададох заглавието в onCreate във всяка дейност. Не ми харесва този начин да го направя, защото бих предпочел да декларирам заглавието за всяка дейност в манифеста, отколкото в кода, но ако това е единственият начин... Благодаря ви много Доналд за помощта! - person Mattias; 13.06.2012

Опитайте се да дадете

<intent-filter android:label="@string/app_name">
                <action android:name="android.intent.action.MAIN" />

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

Когато етикетът е посочен за дейността, тогава аз ще се показва със същия етикет в Launcher

Какво можете да направите, е да дадете етикет на филтъра за намерения

person Vivek Khandelwal    schedule 12.06.2012
comment
Благодаря за предложението ви, но точно това не исках да правя, защото имам нужда от различни етикети за всяка дейност и още един за заглавието на Launcher. По този начин трябва да задам заглавието на Launcher в стартиращата дейност. Благодаря все пак! - person Mattias; 13.06.2012