Esta pergunta já foi feita antes - mas sem resposta satisfatória! Então, eu estou tentando novamente.
Desejo atribuir ao ícone do iniciador de aplicativos (o que é exibido na tela inicial!) Uma legenda diferente e mais curta. Parece que o lançador pega seu rótulo na seção principal sobre o rótulo da atividade principal, como aqui:
<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>
Eu já alterei a referência original para o nome do meu aplicativo @ string / app_name para um recurso de string mais curto diferente aqui.
MAS - grande MAS : isso também altera o título padrão desta atividade! E eu não queria que isso acontecesse, há espaço suficiente para um nome de aplicativo longo! Definir o título longo novamente ao onCreate
usar o setTitle(int)
método também não é bom, porque o nome abreviado ficará visível para o usuário por um curto período de tempo, mas por tempo suficiente para ser observado!
E - por favor, não responda minha pergunta consultando uma barra de título personalizada ... Eu não quero ir tão longe, apenas por causa de um título de string estúpido! É difícil desenhar uma barra de título personalizada para tão pouco efeito!
Não existe uma maneira fácil de fornecer ao lançador uma sequência diferente para exibir? Obrigado por suas respostas!
Edit: Mais uma razão pela qual ter uma barra de título personalizada é uma dor é que ela não se parecerá com a barra de título padrão, eu precisaria fazer coisas explicitamente para torná-la parecida em cada dispositivo! E isso não pode ser uma solução se, afinal, eu não quero uma aparência diferente!
Eu estava procurando a mesma coisa e aqui está o que funcionou para mim.
Isso dará um nome abreviado ao ícone do iniciador de aplicativos.
Para adicionar um nome maior à barra de aplicativos, basta adicionar:
ao seu arquivo java de atividade principal.
fonte
showTitle
dodisplayOptions
. Em seguida, você pode ativar o título na atividadeonCreate
assim: this.getActionBar (). SetDisplayOptions (ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_TITLE); É melhor do que o nome do ícone piscando, mas significa que todas as atividades em seu aplicativo precisarão ativar o título, se necessário.setTitle(R.string.app_name);
?A solução de Mark Renouf falha para mim (usando o Nexus 4 e o Android 4.4). Falha ao usar atalhos, os atalhos usam o rótulo principal da atividade em vez do nome do aplicativo. Vi alguns aplicativos como GMail e Google Keep que funcionam bem. Mas quando você os abre, percebo que é um momento entre o título em branco e o título aparece (o que parece melhor do que o nome do aplicativo piscando antes de definir o título usando setTitle ()).
Então, aqui está a melhor solução que encontrei :
Crie um estilo em que o ActionBar não mostre o título / rótulo:
Estou usando uma gaveta de navegação e um logotipo (porque uso um logotipo e um ícone no meu aplicativo). Você pode usar o que quiser, mas não use showTitle . Em AndroidManifest.xml, defina o tema para MainActivity:
Em seguida, no método onCreate () de MainActivity, defina o título da sua barra de ação:
Depois disso , você pode ligar para:
Complicado, mas vale a pena.
fonte
Provavelmente, isso não satisfará o que você deseja fazer, mas você pensou em criar uma tela inicial que seja exibida rapidamente (com o título padrão) e inicie sua nova atividade "principal" real com o título de sua escolha, usando o
setTitle(int)
método ? Eu não tentei isso para ver se funciona, mas isso pode criar uma solução agradável que não mostra a natureza menos que perfeita do que você está tentando alcançar.fonte
Para quem usa a Barra de Ferramentas de Suporte / Appcompat através do
setSupportActionBar()
método, o título da Atividade pode ser definido no XML da Barra de Ferramentas:Isso substituirá os rótulos de aplicativo e atividade definidos no manifesto.
android.support.v7.widget.Toolbar
fonte
Encontrei uma solução alternativa para esse problema
Em
manifest.xml
Escreva o nome do seu aplicativo na atividade
android:label
do iniciador (principal) .Isso tornará o rótulo da sua atividade principal o mesmo do rótulo do aplicativo.
Em seguida, na
onCreate()
função de sua atividade do Launcher (principal), escreva esta declaraçãoAqui, escreva o rótulo que você deseja atribuir à sua atividade do Launcher (principal).
fonte
Você pode fazer algo assim:
Você precisará criar um layout personalizado para conter o título. Pode ser tão simples quanto (chamado
my_title.xml
neste caso):No seu
AndroidManifest.xml
arquivo, você apenas precisa definir o título do aplicativo, que é o que será mostrado no ícone do iniciador. Para sua atividade, você não precisa definir um título lá.fonte
setTitle
. :-(Na verdade, o iniciador mostra android: label e android: icon para atividade (s) que declaram
portanto, o rótulo do aplicativo é inútil.
fonte