Tenho um aplicativo para Android que exibe uma tela branca por 2 segundos na inicialização. Meus outros aplicativos não fazem isso, mas este faz. Eu também implementei uma tela inicial com a esperança de corrigir isso. Devo aumentar o tempo de suspensão da tela inicial? Obrigado.
android
splash-screen
app-startup
Anônimo
fonte
fonte
onCreate
parte. Tente apenas "setContentView" nessa atividade e verifique se o atraso acabou.Respostas:
Basta mencionar o tema transparente para a atividade inicial no arquivo AndroidManifest.xml.
Gostar:
e estenda essa tela com
Activity
classe no lugar deAppCompatActivity
.gostar :
fonte
final ActionBar actionBar = getActionBar();
retornará nulo quando o tema for translúcidoColoque isso em um estilo personalizado e resolverá todos os problemas. Usar a correção translúcida do hacky tornará sua barra de tarefas e barra de navegação translúcidas e fará com que a tela inicial ou a tela principal pareçam espaguete.
<item name="android:windowDisablePreview">true</item>
fonte
Como o you tube ... inicialmente eles mostram a tela de ícones em vez da tela branca. E depois de 2 segundos mostra a tela inicial.
primeiro crie um drawable XML em res / drawable.
A seguir, você definirá isso como o plano de fundo da sua atividade inicial no tema. Navegue até seu arquivo styles.xml e adicione um novo tema para sua atividade inicial
Em seu novo SplashTheme, defina o atributo de fundo da janela para seu drawable XML. Configure isso como o tema da sua atividade inicial em seu AndroidManifest.xml:
Este link dá o que você deseja. procedimento passo a passo. https://www.bignerdranch.com/blog/splash-screens-the-right-way/
ATUALIZAR:
O
layer-list
pode ser ainda mais simples assim (que também aceita drawables vetoriais para o logotipo centralizado, ao contrário da<bitmap>
tag):fonte
mipmap/ic_launcher
layer-list
pode ser este:<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!-- Background color --> <item android:drawable="@color/white"/> <!-- Logo at the center of the screen --> <item android:drawable="@mipmap/ic_launcher" android:gravity="center"/> </layer-list>
Faça um estilo em seu style.xml da seguinte maneira:
e use-o com sua atividade no AndroidManifest como:
fonte
Você deveria ler este excelente post de Cyril Mottier: Lançamento de aplicativo Android tornado maravilhoso
Você precisa personalizar seu
Theme
em style.xml e evitar personalizá-lo emonCreate
ActionBar.setIcon / setTitle / etc.Consulte também a documentação sobre dicas de desempenho do Google.
Use
Trace View
eHierarchy Viewer
para ver o tempo para exibir suas visualizações: Otimização de desempenho do Android / Ajuste de desempenho no AndroidUse
AsyncTask
para exibir algumas visualizações.fonte
Este é meu AppTheme em um aplicativo de exemplo:
Como você pode ver, eu tenho as cores padrão, adicionei
android:windowIsTranslucent
e defini comotrue
.Pelo que eu sei como desenvolvedor Android, essa é a única coisa que você precisa definir para ocultar a tela branca no início do aplicativo.
fonte
Os trabalhos de ambas as propriedades usam qualquer um deles.
fonte
A resposta do usuário543 é perfeita
Mas:
Sua atividade LAUNCHER deve estender Activity , não AppCompatActivity como vinha por padrão!
fonte
O fundo branco vem do Apptheme. Você pode mostrar algo útil como o logotipo do seu aplicativo em vez da tela branca. Isso pode ser feito usando o tema personalizado. No seu aplicativo, basta adicionar Tema
atributo. O valor do atributo pode ser uma imagem ou lista em camadas ou qualquer cor.
fonte
<item name="android:windowBackground">@android:color/transparent</item>
Abaixo está o link que sugere como projetar a tela inicial. Para evitar o fundo branco / preto, precisamos definir um tema com fundo inicial e definir esse tema para o arquivo manifesto.
https://android.jlelse.eu/right-way-to-create-splash-screen-on-android-e7f1709ba154
splash_background.xml dentro da pasta res / drawable
Adicione os estilos abaixo
No tema do conjunto de manifesto, conforme mostrado abaixo
fonte
Eu também tive o mesmo problema em um de meu projeto. Resolvi isso adicionando alguns parâmetros a seguir no tema fornecido para a tela inicial.
Você pode encontrar o motivo e a resolução nesta postagem do blog escrita por mim. Espero que ajude.
fonte
Isso pode ser corrigido definindo o tema em seu manifesto como
e depois disso, se você estiver obtendo
java.lang.IllegalStateException: Você precisa usar um tema Theme.AppCompat (ou descendente) com esta atividade.
então, pode ser necessário estender Activity em vez de AppCompatActivity em MySplashActivity.
Espero que ajude!
fonte
O fundo branco é causado porque o Android é iniciado enquanto o aplicativo é carregado na memória e pode ser evitado se você apenas adicionar essas 2 linhas de código em SplashTheme.
fonte
você deve desativar as configurações do Android Studio Instant Run.
Arquivo> Configurações> Compilar, Execução, Implantação> Instant Run desmarque todas as opções mostradas lá.
Nota: O problema de tela branca devido ao Instant Run é apenas para compilações de depuração, este problema não aparecerá em compilações de lançamento.
fonte
Experimente o seguinte código:
Este código funciona para mim e funcionará em todos os dispositivos Android.
fonte
Sua Solução é Muito Simples!
Existem três razões básicas para este problema
Soluções:
Solução 1:
Solução 2:
Solução 3:
Compartilhe para melhorar.
fonte
Isso resolveu o problema:
Edite seu arquivo styles.xml:
Cole o código abaixo:
E não se esqueça de fazer as modificações no arquivo AndroidManifest.xml . ( nome do tema )
Tenha cuidado com a ordem de declaração das atividades neste arquivo.
fonte
fonte