2013-02-20 22 views
9

Mam więc aplikację na Androida z wygenerowanym ekranem logowania (ten, który można bezpośrednio utworzyć z Eclipse). To działa. Problem jest następujący: Ustawiłem ekran logowania jako działanie uruchamiające. To działa. Niestety aplikacja jest następnie nazywana jako parametr etykiety aktywności logowania. Znaczenie wartości android: label aplikacji jest po prostu ignorowane.Ustawienie nazwy aplikacji w etykiecie aplikacji nie działa

Oto mój kod jak moje pytanie brzmi dość niejasne:

<application 
      android:allowBackup="true" 
      android:icon="@drawable/ic_launcher" 
      android:label="@string/app_name" <!-- the app name i want it to have --> 
      android:theme="@style/AppTheme" > 
      <activity 
       android:name="com.test.testytest.MainActivity" 
       android:configChanges="orientation" 
       android:label="@string/app_name" > 

      </activity> 

<!-- some more activities --> 

      <activity 
       android:name="com.test.testytest.LoginActivity" 
       android:label="@string/title_activity_login" <!-- the name the app is called in the drawer etc. --> 
       android:windowSoftInputMode="adjustResize|stateVisible" > 
       <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
      </activity> 
    </application> 

strings.xml:

<string name="app_name">Testy Test!</string> 

strings_activity_login:

<string name="title_activity_login">Sign in</string> 

Kiedy zmienić ciąg aktywności logowania do app_name, zmienia się także nazwa aplikacji. Ale jestem pewien, że aplikacja powinna zostać wywołana w sposób określony w Androidzie: etykieta w

Mam nadzieję, że możesz mi pomóc lub wskazać na mój błąd (może po prostu brakuje mi trochę szczegółów).

Mała edycja: Nie chcę zmieniać etykiety aktywności logowania, ponieważ powinna ona pozostać "Logowanie". A także powinna pozostać pierwszą czynnością, którą należy nazwać. Ale nazwa aplikacji w szufladzie powinna być taka, jak w.

Odpowiedz

6

Dzięki Geobits:

Oto rozwiązanie How to set different label for launcher rather than activity title?

Rozwiązanie znalezione!

Wygląda na to, że "filtr intencji" może mieć atrybut etykiety. Jeśli jest nieobecny, oznacza to, że etykieta jest dziedziczona ze składnika macierzystego (aplikacja Activity lub aplikacja ). Używając tej opcji, możesz ustawić etykietę ikony programu uruchamiającego , mając jednocześnie aktywność z własnym tytułem.

http://developer.android.com/guide/topics/manifest/intent-filter-element.html

android: label = "@ ciąg/title_home_activity"
android: icon = "@ rozciągliwej/ikonę">

+2

mi nie dziękować, dziękować Mark Renouf. Jeśli to zadziałało, powinieneś wznowić [jego odpowiedź] (http://stackoverflow.com/a/7250902/752320). – Geobits

+0

Naprawiłem mój problem. Jasne wyjaśnienie było bardzo pomocne, dzięki! – Panda4Man

Powiązane problemy