To pytanie zostało zadane wcześniej - ale bez zadowalającej odpowiedzi! Więc próbuję ponownie.
Chcę nadać mojej ikonie uruchamiania aplikacji (tej wyświetlanej na ekranie startowym!) Inny, krótszy podpis. Wygląda na to, że program uruchamiający bierze etykietę z sekcji Mainfest na temat etykiety głównej aktywności, jak tutaj:
<activity android:name="MainActivity" android:label="@string/app_short_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
Zmieniłem już pierwotne odniesienie do nazwy mojej aplikacji @ string / nazwa_aplikacji na inny, krótszy zasób string tutaj.
ALE - duży ALE : to oczywiście zmienia domyślny tytuł tego działania! I nie chciałem, żeby tak się stało, jest wystarczająco dużo miejsca na długą nazwę aplikacji! Ponowne ustawienie długiego tytułu onCreate
przy użyciu tej setTitle(int)
metody również nie ma sensu, ponieważ krótka nazwa będzie widoczna dla użytkownika przez krótki czas, ale wystarczająco długo, aby to zauważyć!
I - proszę nie odpowiadać na moje pytanie, odnosząc się do niestandardowego paska tytułu ... Nie chcę iść tak daleko, tylko z powodu głupiego tytułu napisu! Trudno jest narysować niestandardowy pasek tytułu, aby uzyskać tak niewielki efekt!
Czy nie ma łatwego sposobu, aby po prostu nadać programowi uruchamiającemu inny ciąg znaków do wyświetlenia? Dzięki za odpowiedzi!
Edycja: Jeszcze jednym powodem, dla którego posiadanie niestandardowego paska tytułowego jest uciążliwe, jest to, że nie będzie on wyglądał jak domyślny pasek tytułowy. Musiałbym jawnie robić rzeczy, aby wyglądały podobnie na każdym urządzeniu! I to nie może być rozwiązanie, jeśli w końcu nie chcę innego wyglądu!
Szukałem tego samego i oto, co zadziałało dla mnie.
To da krótką nazwę ikonie uruchamiania aplikacji.
Aby dodać większą nazwę do paska aplikacji, wystarczy dodać:
do głównego pliku Java aktywności.
źródło
showTitle
z niegodisplayOptions
. Następnie możesz włączyć tytuł w działaniu wonCreate
następujący sposób: this.getActionBar (). SetDisplayOptions (ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_TITLE); Jest to lepsze niż miganie nazwy ikony, ale oznacza to, że każda czynność w aplikacji będzie musiała włączyć tytuł, jeśli będzie tego wymagać.setTitle(R.string.app_name);
?Rozwiązanie Marka Renoufa nie powiodło się (przy użyciu Nexusa 4 i Androida 4.4). Nie udaje się to podczas korzystania ze skrótów, skróty używają głównej etykiety aktywności zamiast nazwy aplikacji. Widziałem niektóre aplikacje, takie jak GMail i Google Keep, które działają dobrze. Ale kiedy je otworzysz, zauważam, że moment między tytułem jest pusty i pojawia się tytuł (co wydaje się lepsze niż miganie nazwy aplikacji przed ustawieniem tytułu za pomocą setTitle ()).
Oto najlepsze rozwiązanie, jakie znalazłem :
Utwórz styl, w którym pasek ActionBar nie wyświetla tytułu / etykiety:
Używam szuflady nawigacji i logo (ponieważ używam logo i ikony do mojej aplikacji). Możesz używać cokolwiek, ale nie używaj showTitle . Następnie w AndroidManifest.xml ustaw motyw dla MainActivity:
Następnie w metodzie onCreate () funkcji MainActivity ustaw tytuł paska akcji:
Następnie możesz zadzwonić:
Podstępne, ale warte.
źródło
Prawdopodobnie nie spełni tego, co chcesz zrobić, ale czy pomyślałeś o utworzeniu ekranu powitalnego, który wyświetla się bardzo krótko (z domyślnym tytułem), a następnie uruchamia nową rzeczywistą „główną” aktywność z wybranym tytułem za pomocą
setTitle(int)
metody ? Nie próbowałem tego, aby sprawdzić, czy to działa, ale może to stworzyć przyjemną pracę, która nie pokazuje mniej niż płynnej natury tego, co próbujesz osiągnąć.źródło
Dla każdej osoby korzystającej z paska narzędzi Support / Appcompat za pomocą tej
setSupportActionBar()
metody tytuł działania można ustawić w pasku narzędzi Toolbar XML:Spowoduje to zastąpienie etykiet aplikacji i działań ustawionych w manifeście.
android.support.v7.widget.Toolbar
źródło
Znalazłem obejście tego problemu
W
manifest.xml
wyraź swoją nazwę aplikacji w
android:label
z wyrzutni (głównego) aktywności .Spowoduje to, że etykieta głównej aktywności będzie taka sama jak etykieta aplikacji.
Następnie, w
onCreate()
funkcji aktywności Launcher (głównej) napisz tę instrukcjęTutaj wpisz etykietę, którą chcesz nadać aktywności Launcher (głównej).
źródło
Możesz zrobić coś takiego:
Musisz utworzyć niestandardowy układ, aby utrzymać tytuł. Może to być tak proste jak (
my_title.xml
w tym przypadku wywoływane ):W swoim
AndroidManifest.xml
pliku musisz tylko ustawić tytuł aplikacji, który będzie wyświetlany w ikonie uruchamiania. W przypadku swojej aktywności nie musisz ustawiać tam tytułu.źródło
setTitle
. :-(Program uruchamiający faktycznie pokazuje android: label i android: ikona aktywności, które deklarują
więc etykieta aplikacji jest bezużyteczna.
źródło