stretch interface do respingo Android sob uma solução do problema de partida a frio

sintoma

Para evitar problema de tela preta ou branca quando o aplicativo é iniciado. Você precisa selecionar processo de arranque a frio. Implementação da seguinte forma:

Adicionar personalizado arquivo de estilos do tema:

< Estilo nome = "ThemeSplash" pai = "Theme.AppCompat.Light.NoActionBar" > 
     < item de nome = "android: Fundo" > @ drawable / bg_welcome_default </ item de > 
     < item de nome = "android: windowNoTitle" > verdadeiro </ artigo > 
     < item de nome = "android: windowFullscreen" > verdadeiro </ item de > 
     < item de nome = "windowActionBar" >false </ item de >
     < Item de nome = "windowNoTitle" > verdadeiro </ item de > 
</ estilo >

arquivo de manifesto usando o tema:

 < Aplicação
         Android: allowBackup = "true" 
        android: label = "@ corda / app_name" 
        android: supportsRtl = "true" > 
        < atividade
             Android: tema = "@ estilo / ThemeSplash" 
            android: name "SplashActivity" = > 
            < intenção -filter > 
                < ação android: nome = "android.intent.action.MAIN"  /> 

                < categoria android: nome = "android.intent.category.LAUNCHER"  /> 
            </ intenção filtro > 
        </ Atividade > 
</aplicação >

 

O tamanho das imagens aplicativo bg_welcome_default de três 640 * 960.750 * 1334,1242 * 2208.

Adequadamente em uma proporção que coincide com o telefone irá estar numa painço semelhante 9 (1080 * 2340), onde ocorre o alongamento. (Nota:. Isso não pode ser usado para substituir a relação de aspecto da imagem 1242 * 2208 1080 * 2340 1242 * 2208, porque a relação de aspecto do telefone ao mesmo densidade de pixels não vai esticar, de modo que a substituição não pode resolver o problema fundamental)

problema Causa

Ele não coincidir com a tela ao usar a imagem como uma proporção de imagem em tela cheia e a relação de aspecto da imagem.

soluções

FIG ícones sozinho corte, fundo desenho personalizado, como segue:

<? xml version = "1.0" encoding = "utf-8" >? 
< -lista camada xmlns: android = "http://schemas.android.com/apk/res/android"  > 
    < artigo > 
        < forma > 
            < sólida android : color = "@ cor / branco" /> 
        </ forma > 
    </ item de > 
    < item de Android: esquerda = "10dip" android: top = "10dip" > 
        < bitmap android: src = "@ drawable / bg_welcome" 
            android:
    
</ Layer-list >

problema estendida

Depois de processar o método acima, Splash problema tensão interfacial foi resolvido, mas há um pequeno problema, painço statusBar 9 não é preenchido com imagens. Investigação através do comprimento do canal, código personalizado pode usar o seguinte código relativas a:

    < Estilo nome = "ThemeSplash" pai = "Theme.AppCompat.Light.NoActionBar" > 
        < item de nome = "android: windowBackground" > @ drawable / bg_welcome_default </ item de > 
        < item de nome = "android: statusBarColor" > @android: cor / transparente </ item de > 

        <! - <item name = "android: windowNoTitle"> true </ item> -> 
        <! - <item name = "android: windowFullscreen"> true </ item> - > 
        <! - <item name ="windowActionBar "> false </ item> -> 
        <! -<item name = "windowNoTitle"> true </ item> -> 

    </ style >

Nota: Este tópico é sobre v21 \ styles.xml, o código acima e não entram em conflito.

Aqui, um arranque a frio Splash screen estado esticado problema básico será resolvido.

 

Acho que você gosta

Origin www.cnblogs.com/renhui/p/12275051.html
Recomendado
Clasificación